章節 24 建立分支

學習目標

現在我們需要在 hello world 這個專案作一些功能上的重大修改,他可能會需要很長一段時間。您會希望能夠在一個獨立的分支上做修改,這樣就不會影響 master 這個版本主要的功能,很多情況下您可能需要實驗一些功能性地開發,但在確認之前您不希望這些功能直接就整合到主要的版本(穩定版)。

建立分支 01

讓我們來建立一個叫做 greet 的分支。

執行:

git checkout -b greet
git status

注意: git checkout -b <branchname> 這是一個簡化的指令,它跟 git branch <branchname> 然後 git checkout <branchname>是同樣意思。

注意:接著您可以用 git status 或者 git branch 指令,來確認您現在是在 ‘greet’ 分支。

編輯 Greet 分支: 加入 Greeter class. 02

檔案: lib/greeter.rb

class Greeter
  def initialize(who)
    @who = who
  end
  def greet
    "Hello, #{@who}"
  end
end

執行:

git add lib/greeter.rb
git commit -m "Added greeter class"

編輯 Greet 分支: 修改主程式03

編輯 hello.rb 檔案,改用剛剛建立的 greeter 類別

檔案: lib/hello.rb

require 'greeter'

# Default is World
name = ARGV.first || "World"

greeter = Greeter.new(name)
puts greeter.greet

執行:

git add lib/hello.rb
git commit -m "Hello uses Greeter"

編輯 Greet 分支: 修改 Rakefile 04

編輯 Rakefile 讓其可以使用Ruby的外部程式檔案

檔案: Rakefile

#!/usr/bin/ruby -wKU

task :default => :run

task :run do
  ruby '-Ilib', 'lib/hello.rb'
end

執行:

git add Rakefile
git commit -m "Updated Rakefile"

下一步 05

現在我們多了一個新的分支叫做 greet 並且有 3 次新的送交。下一章節我們將學會如何切換在不同的分支作業。

目錄