GIT:在合并时使用Feature分支覆盖Current分支中所有冲突文件的命令

时间:2015-02-20 20:22:36

标签: git version-control merge git-branch git-merge

我遇到了将我的“功能”分支合并到我的“当前”分支中的冲突,并且想知道通过忽略列出的文件中的合并冲突并覆盖文件来告诉git继续进行的最简单方法(... .file1.ext,file2.ext ...)在“当前”分支上,“feature”分支上的文件。我不想通过文本编辑器查看文件的实际内容,以查看冲突发生的位置。我很简单想要运行一个GIT命令,用“feature”分支上的新版本覆盖它们,然后给我一个新的“当前”分支,其中包含“feature”的变化。到目前为止,我已经运行了以下内容:

git checkout current git merge功能

运行合并后,我收到这些冲突消息。我该怎么办?

...    
CONFLICT (content): Merge conflict in path/to/file1.ext
CONFLICT (content): Merge conflict in path/to/file2.ext
...

1 个答案:

答案 0 :(得分:0)

听起来你想要做的就是结账功能,然后将当前与“我们的”合并策略合并。这样做会忽略当前的变化,只需创建一个与功能相同但具有当前和功能的祖先的新合并提交。现在和功能都将指向此提交。

git checkout feature
git merge -s ours current

请注意,如果您执行此操作,那么您之前对当前未进行的任何更改都将被忽略。

另一方面,如果您希望与当前的内容进行真正的合并,但在发生冲突时始终支持更改功能,则可以这样做:

git checkout current
git merge -Xtheirs feature

这将进行常规合并,但不会让您进行手动冲突解决,而是始终从功能中进行更改。但是,如果它们是“真正的”冲突,则可能导致合并文件中的代码损坏。