章節 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.
看,沒有改變。