高级合并
我们在遇到冲突时的分支合并介绍了解决合并冲突的一些基础知识, 对于更复杂的冲突,Git 提供了几个工具来帮助你指出将会发生什么以及如何更好地处理冲突。
1.git merge --abort
$ git merge --abort
中断一次合并,你可能不想处理冲突这种情况,完全可以通过 git merge --abort 来简单地退出合并。
git merge --abort 选项会尝试恢复到你运行合并前的状态。 但当运行命令前,在工作目录中有未储藏、未提交的修改时它不能完美处理,除此之外它都工作地很好。
如果出于某些原因你想要重来一次,也可以运行 git reset --hard HEAD 回到上一次提交的状态。 请牢记此时任何未提交的工作都会丢失,所以请确认你不需要保留任何改动。
2.忽略空白
$ git merge -Xignore-space-change whitespace
3.git diff --ours
要在合并前比较结果与在你的分支上的内容,换一句话说,看看合并引入了什么,可以运行 git diff --ours
$ git diff --ours
4.git diff --theirs
如果我们想要查看合并的结果与他们那边有什么不同,可以运行 git diff --theirs。
5.git clean
我们可以使用 git clean 命令来清理我们为手动合并而创建但不再有用的额外文件
$ git clean -f
Removing hello.common.rb
6.检出冲突
$ git checkout --conflict=diff3 hello.rb
7.还原提交
$ git revert -m 1 HEAD
[master b1d8379] Revert "Merge branch 'topic'"
8.含有坏掉合并的历史
$ git revert ^M
[master 09f0126] Revert "Revert "Merge branch 'topic'""
$ git merge topic
网友评论