当我在Git中合并一个分支到master时,我经常会遇到合并冲突。有没有一种方法可以合并一个分支并覆盖当前分支中的内容?
n8ghc7c11#
将-X ours参数添加到git merge命令。假设你在本地分支工作,然后你想合并master中的内容:
-X ours
git merge
master
git merge -X ours master
另一方面,如果你在master中,并且想将你的本地分支合并到master中,那么@elhadi正确地说你应该使用theirs:
theirs
git merge -X theirs somebranch
bkhjykvo2#
要覆盖你的东西在你的分支,并采取他们的工作,你应该使
git merge -X theirs {remote/branch} --> example:origin/master
of1yzvn43#
我发现合并并不能真正使目标分支成为源分支的镜像副本。如果这就是你所追求的,为了让分支100%同步,我使用了这个过程:
git merge -X theirs somebranch git reset somebranch --hard
这会将当前分支的状态重置为合并后somebranch的HEAD。在某些情况下,如果工作目录中有未提交的文件,您可能还需要清理工作目录,整个过程将如下所示:
somebranch
git merge -X theirs somebranch git reset somebranch --hard git clean -f
3条答案
按热度按时间n8ghc7c11#
将
-X ours
参数添加到git merge
命令。假设你在本地分支工作,然后你想合并
master
中的内容:另一方面,如果你在
master
中,并且想将你的本地分支合并到master
中,那么@elhadi正确地说你应该使用theirs
:bkhjykvo2#
要覆盖你的东西在你的分支,并采取他们的工作,你应该使
of1yzvn43#
我发现合并并不能真正使目标分支成为源分支的镜像副本。
如果这就是你所追求的,为了让分支100%同步,我使用了这个过程:
这会将当前分支的状态重置为合并后
somebranch
的HEAD。在某些情况下,如果工作目录中有未提交的文件,您可能还需要清理工作目录,整个过程将如下所示: