如何在合并期间从一个分支中选择文件?

时间:2013-07-17 15:34:48

标签: git

前段时间我从我的master分支创建了一个分支。我们称之为new_feature。当我在new_feature工作时,master分支跟随其正常演变。现在new_feature已准备好合并到master我看到一些冲突,所有这些冲突都是与实际新功能完全无关的文件(比如一些配置文件和已更改的喜欢master)。我将手动解决冲突,但我想知道,因为这种情况经常发生,我如何将new_feature分支合并到master,同时始终保持master发生冲突时的文件版本?

我确信这很简单并且与“保留版本”有关,但因为它是一个非常敏感的主题,我宁愿问,也不要抱歉。

1 个答案:

答案 0 :(得分:26)

如评论中所述,文档中有几种策略。您也可以在此处找到它们:http://git-scm.com/docs/git-merge

您正在寻找git merge -s recursive -X oursgit merge -s recursive -X theirs,具体取决于您所在的分支机构。小心这些,因为你可能会意外地错过来自其他分支的文件更改,这些将被覆盖。

由于更多控制,我更喜欢的另一种方法是git checkout <other-branch> -- <list of files>。这样我就不会意外地用错误的更改覆盖文件。