前段时间我从我的master
分支创建了一个分支。我们称之为new_feature
。当我在new_feature
工作时,master
分支跟随其正常演变。现在new_feature
已准备好合并到master
我看到一些冲突,所有这些冲突都是与实际新功能完全无关的文件(比如一些配置文件和已更改的喜欢master
)。我将手动解决冲突,但我想知道,因为这种情况经常发生,我如何将new_feature
分支合并到master
,同时始终保持master
发生冲突时的文件版本?
我确信这很简单并且与“保留版本”有关,但因为它是一个非常敏感的主题,我宁愿问,也不要抱歉。
答案 0 :(得分:26)
如评论中所述,文档中有几种策略。您也可以在此处找到它们:http://git-scm.com/docs/git-merge
您正在寻找git merge -s recursive -X ours
或git merge -s recursive -X theirs
,具体取决于您所在的分支机构。小心这些,因为你可能会意外地错过来自其他分支的文件更改,这些将被覆盖。
由于更多控制,我更喜欢的另一种方法是git checkout <other-branch> -- <list of files>
。这样我就不会意外地用错误的更改覆盖文件。