美文网首页
git 合并冲突的解决办法

git 合并冲突的解决办法

作者: _宋江_ | 来源:发表于2022-06-17 10:35 被阅读0次

解决合并冲突几个常见的办法是:

手动编辑冲突文件,手动删除或者保留冲突的代码;

对于“both added”、“both deleted”、“both modified”等类型的冲突,若想完整地保留某一方的修改可以执行git checkout --ours(或者--theirs) <文件名>来选择想要保留的版本。需要注意的是由于git rebase 是先撤销再应用commit,所以这里的ours指的是upstream-branch,theirs指的是我们将要应用的临时commit。

对于“added by us/them”、“deleted by us/them”等类型的冲突需要使用git rm <file-name>和git add <file-name>来删除/添加file。在此过程中需要特别注意谁是us,谁是them。

为了防止混淆ours theirs, 可以使用下面的简单明了方式:

git checkout 6a363d8 -- src/MyFile.cs

git checkout my_branch/master -- src/MyFile.cs

git checkout HEAD -- src/MyFile.cs

标记解决

冲突解决完之后,使用git add <file-name>来标记冲突已解决,最后执行git rebase --continue继续。如果中间遇到某个补丁不需要应用,可以用下面命令忽略:

git rebase --skip

如果想回到rebase执行之前的状态,可以执行:  

git rebase --abort

相关文章

网友评论

      本文标题:git 合并冲突的解决办法

      本文链接:https://www.haomeiwen.com/subject/cfqcvrtx.html