目的

学习如何导航仓库的分支。

现在在你的项目中具有两个分支:

  1. $ git hist --all
  1. $ git hist --all
  2. * 28917a4 2013-04-13 | Updated Rakefile (HEAD, greet) [Jim Weirich]
  3. * 4dac415 2013-04-13 | Hello uses Greeter [Jim Weirich]
  4. * 39347b3 2013-04-13 | Added greeter class [Jim Weirich]
  5. * 96ee164 2013-04-13 | Added a Rakefile. (master) [Jim Weirich]
  6. * 0f36766 2013-04-13 | Moved hello.rb to lib [Jim Weirich]
  7. * eb30103 2013-04-13 | Add an author/email comment [Jim Weirich]
  8. * 1f7ec5e 2013-04-13 | Added a comment (v1) [Jim Weirich]
  9. * 582495a 2013-04-13 | Added a default value (v1-beta) [Jim Weirich]
  10. * 323e28d 2013-04-13 | Using ARGV [Jim Weirich]
  11. * 9416416 2013-04-13 | First Commit [Jim Weirich]

切换到 master 分支

要在分支间切换,只需使用 git checkout 命令。

  1. $ git checkout master
  2. $ cat lib/hello.rb
  1. $ git checkout master
  2. Switched to branch 'master'
  3. $ cat lib/hello.rb
  4. # Default is World
  5. # Author: Jim Weirich (jim@somewhere.com)
  6. name = ARGV.first || "World"
  7. puts "Hello, #{name}!"

你现在在 master 分支上。你可以判断 hello.rb 文件是否使用 Greeter 类。

回到 Greet 分支

  1. $ git checkout greet
  2. $ cat lib/hello.rb
  1. $ git checkout greet
  2. Switched to branch 'greet'
  3. $ cat lib/hello.rb
  4. require 'greeter'
  5. # Default is World
  6. name = ARGV.first || "World"
  7. greeter = Greeter.new(name)
  8. puts greeter.greet

lib/hello.rb 的内容确定我们回到了 greet 分支上。