章節 42 取得修改

學習目標

執行:

cd ../cloned_hello
git fetch
git hist --all

注意: 現在位於 cloned_hello 檔案庫。

輸出:

$ git fetch
From /Users/jerrynummi/Projects/edgecase/git_immersion/auto/hello
   e1399d1..e18658c  master     -> origin/master
$ git hist --all
* e18658c 2012-03-06 | Changed README in original repo (origin/master, origin/HEAD) [Jim Weirich]
* e1399d1 2012-03-06 | Updated Rakefile (HEAD, origin/greet, master) [Jim Weirich]
* 183c6ad 2012-03-06 | Hello uses Greeter [Jim Weirich]
* 297678c 2012-03-06 | Added greeter class [Jim Weirich]
* 3ce0095 2012-03-06 | Added README [Jim Weirich]
* 76ba0a7 2012-03-06 | Added a Rakefile. [Jim Weirich]
* b8f15c3 2012-03-06 | Moved hello.rb to lib [Jim Weirich]
* 9c78ad8 2012-03-06 | Add an author/email comment [Jim Weirich]
* 4054321 2012-03-06 | Added a comment (v1) [Jim Weirich]
* 1b754e9 2012-03-06 | Added a default value (v1-beta) [Jim Weirich]
* 3053491 2012-03-06 | Using ARGV [Jim Weirich]
* 3cbf83b 2012-03-06 | First Commit [Jim Weirich]

現在,複製的檔案庫也包含了原始檔案庫的所有修改,但尚未整合到複製的檔案庫內本機的分支。

從上方的歷史記錄尋找 “Changed README in original repo”。 是否有注意到該送交包含了 “origin/master” 及 “origin/HEAD”。

現在看到 “Updated Rakefile” 送交。 你會注意到本機的 master 分支指向此送交,而不是我們剛才取得的最新的送交。

造成這個結果的原因是,“git fetch” 命令會取得所有遠端檔案庫的新送交,但是不會將這些送交合併到本機的分支。

檢查 README 01

我們可以證明複製的檔案庫中的 README 沒有改變。

執行:

cat README

輸出:

$ cat README
This is the Hello World example from the git tutorial.

看,沒有改變。

目錄