章節 32 重置 Greet 分支
學習目標
- 重置 greet 分支到第一次合併前的狀態。
重置 greet 分支 01
讓我們將 greet 分支回到合併 master 之前的狀態。 我們可以重置一個分支到任何想要的送交。 實質上,這是修改分支的指標指向送交樹的任意位置。
在這,我們希望將 greet 回到合併 master 之前的狀態。 我們要先找到合併前的最後一次送交。
執行:
git checkout greet git hist
輸出:
$ git checkout greet Already on 'greet' $ git hist * 3165f66 2012-03-06 | Merged master fixed conflict. (HEAD, greet) [Jim Weirich] |\ | * 6b6beca 2012-03-06 | Made interactive (master) [Jim Weirich] * | a0750b6 2012-03-06 | Merge branch 'master' into greet [Jim Weirich] |\ \ | |/ | * 3ce0095 2012-03-06 | Added README [Jim Weirich] * | e2257cb 2012-03-06 | Updated Rakefile [Jim Weirich] * | a93f079 2012-03-06 | Hello uses Greeter [Jim Weirich] * | 4b9457a 2012-03-06 | Added greeter class [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]
這有點難以閱讀,不過仔細看看資料,我們可以看到 “Updated Rakefile” 是 greet 分支合併前的最後一次送交。 讓我們重置 greet 分支到這個送交。
執行:
git reset --hard <hash>
輸出:
$ git reset --hard e2257cb HEAD is now at e2257cb Updated Rakefile
檢查分支。 02
檢查 greet 分知的歷史記錄。 歷史記錄中已經不再有合併的送交了。
執行:
git hist --all
輸出:
$ git hist --all * e2257cb 2012-03-06 | Updated Rakefile (HEAD, greet) [Jim Weirich] * a93f079 2012-03-06 | Hello uses Greeter [Jim Weirich] * 4b9457a 2012-03-06 | Added greeter class [Jim Weirich] | * 6b6beca 2012-03-06 | Made interactive (master) [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]