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

Bas*_*ian 27 git

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

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

Sch*_*eis 31

正如评论中所提到的,文档中有几种策略.您也可以在这里找到它们: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>.这样我就不会意外地用错误的更改覆盖文件.

  • 只是为了确保我理解得很好,在我的情况下如果我从主人那里做`git merge -s recursive -X our new_feature`我将从new_feature获得更改但是冲突的文件将保留在master上? (2认同)