我想在分支主机上合并分支发布,这样我就可以解决所有冲突,而不是主人(我们的),除了我想要解决的特定文件夹(支持发布(他们的))。这样做有干净的方法吗?
基本上我正在尝试解决之前合并中搞砸的事情。
答案 0 :(得分:2)
我们假设有三个文件夹foo/
,bar/
和fizz/
,您赞成release
fizz
和master
其余的{1}}。
#you've encountered the conflicts during a merge
git checkout master -- . ':!fizz/'
git checkout release -- fizz/
git commit
. ':!fizz/'
表示除fizz/
以外的所有内容。因此foo/
和bar/
master
已签出。同样,fizz/
的{{1}}已签出。最后,release
完成了合并过程。
更新
正如@torek的评论所说,上面的步骤适用于子文件夹的git commit
(请注意,没有-s ours
)。它忽略了"他们的所有变化"。如果您想要的是仅针对冲突的部分自动选择我们的更改,并且如果合并是可以的,那么它应该使用类似-s theirs
和git merge -X ours
的内容,并且不要运行答案中的命令。正如@torek所说,git merge -X theirs
正在工作。