1.回溯歷史版本
首先查看倉(cāng)庫(kù)執(zhí)行的操作的日志
$ git reflog
在日志中可以看到各種Git的命令執(zhí)行記錄
然后復(fù)制想要恢復(fù)的狀態(tài)對(duì)應(yīng)的哈希值
$ git reset --hard 哈希值
2.消除沖突
合并fix-B(修改文件)時(shí)發(fā)現(xiàn)README.md發(fā)生沖突解決辦法
用編輯器打開(kāi)README.me 文件可以看到
<<<<<<<HEAD
- feature-A
=======
- fix-B
>>>>>>> fix-B
=======以上是HEAD的內(nèi)容酥诽,以下是要合并的fix-內(nèi)容
在編輯器中改成想要的樣子
- feature-A
- fix-B
注意:這樣可以讓feature-A和fix-B存于文件中户矢,但實(shí)際往往刪掉其一,所以處理沖突時(shí)要小心再修改
修改完后提交執(zhí)行g(shù)it add 和 git commit
3.提交修改信息
修改上一條提交信息
$git commit --amend
執(zhí)行后圣勒,編輯器就會(huì)啟動(dòng),修改保存即可
3.壓縮歷史
$ git rebase -i HEAD~~
(最后一個(gè)~可以換成數(shù)字,表示最新的歷史的幾個(gè))
在編輯器打開(kāi)可以看到
pick 7a34294 Add feature-C
pick 6fba227 Fix typo
將Fix typo 歷史壓縮到Add feature-C里,只要把Fix typo開(kāi)頭的pick改成fixup保存退出