Woj*_*lik 6 git version-control github git-branch
我想要具有相同名称的分支特定文件.我需要能够从我的开发分支合并到master,而不需要在此文件中进行更改.
例如:
假设我想要两个不同的readme.md文件.在一个我希望有内容:MASTER在另一个DEV.但是如果我尝试这样做,在创建pull-request时GitHub会尝试合并这个文件,这正是我的问题.每次进行更改时,我都不希望GitHub合并此文件.
解决这个问题的最佳方法是什么?
假设project是要合并的分支的名称,并且README.md是保留分支特定信息的文件的名称。
我建议采取以下步骤:
合并项目分支,但确保未提交更改且未快进
$ git merge --no-commit --no-ff project
Run Code Online (Sandbox Code Playgroud)取消暂存README.md文件并签出其当前分支版本
$ git checkout HEAD -- README.md
Run Code Online (Sandbox Code Playgroud)完成合并
$ git commit
Run Code Online (Sandbox Code Playgroud)此外,安装合并驱动程序是有意义的,该驱动程序将在合并冲突的情况下保留文件的分支特定版本。在这种情况下,您永远不需要手动解决分支特定文件中的冲突。
这种合并驱动程序通常被称为ours和定义为:
$ git config --global merge.ours.driver true
Run Code Online (Sandbox Code Playgroud)
现在,您可以在.gitattributes文件中指定何时应使用此合并。
在我们的例子中,需要添加以下规则.gitattributes并提交:
README.md merge=ours