章節 32 重置 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]

目錄