1.回溯历史版本
首先查看仓库执行的操作的日志
$ git reflog
在日志中可以看到各种Git的命令执行记录
然后复制想要恢复的状态对应的哈希值
$ git reset --hard 哈希值
2.消除冲突
合并fix-B(修改文件)时发现README.md发生冲突解决办法
用编辑器打开README.me 文件可以看到
<<<<<<<HEAD
- feature-A
=======
- fix-B
>>>>>>> fix-B
=======以上是HEAD的内容,以下是要合并的fix-内容
在编辑器中改成想要的样子
- feature-A
- fix-B
注意:这样可以让feature-A和fix-B存于文件中,但实际往往删掉其一,所以处理冲突时要小心再修改
修改完后提交执行git add 和 git commit
3.提交修改信息
修改上一条提交信息
$git commit --amend
执行后,编辑器就会启动,修改保存即可
3.压缩历史
$ git rebase -i HEAD~~
(最后一个~可以换成数字,表示最新的历史的几个)
在编辑器打开可以看到
pick 7a34294 Add feature-C
pick 6fba227 Fix typo
将Fix typo 历史压缩到Add feature-C里,只要把Fix typo开头的pick改成fixup保存退出