当我将一个分支合并到主分支(master)时,经常会出现合并冲突。有没有一种方法可以合并分支并只覆盖当前分支中的内容?
在您的git merge
命令中添加-X ours
参数。
假设您正在本地分支中工作,然后想要合并master
中的内容:
git merge -X ours master
另一方面,如果您在 master
分支中并希望将您的本地分支合并到 master
中,则 @elhadi 正确地建议您使用 theirs
:
git merge -X theirs somebranch
如果想要覆盖您的分支中的文件并使用他们的代码,您应该执行以下操作:
git merge -X theirs {remote/branch} --> example:origin/master
--strategy=recursive
是什么意思? - red888merge: origin/master - not something we can merge
。 - Ricky Levi我发现合并操作并不能使目标分支成为源分支的镜像拷贝。
如果这正是你想要的,为了让分支100%同步,我使用了以下步骤:
git merge -X theirs somebranch
git reset somebranch --hard
这将重置当前分支状态为somebranch
合并后的HEAD状态。在某些情况下,如果您的工作目录存在未提交的文件,则还可以清理工作目录,整个过程如下:
git merge -X theirs somebranch
git reset somebranch --hard
git clean -f