如何在GitHub

时间:2015-10-11 16:41:00

标签: git github version-control git-branch

我想要具有相同名称的分支特定文件。我需要能够从我的开发分支合并到master而不对此文件进行任何更改。

例如:
我们假设我想要两个不同的readme.md文件。在一个我希望有内容:MASTER和另一个DEV。但是如果我尝试这样做,在创建pull-request时GitHub会尝试合并这个文件,这正是我的问题。每次进行更改时,我都不希望GitHub合并此文件。

解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:4)

我们说project是要合并的分支的名称,README.md是保存分支特定信息的文件的名称。

我建议采取以下步骤:

  1. 合并项目分支,但确保未提交更改,而不是快速转发

    $ git merge --no-commit --no-ff project
    
  2. 取消暂存README.md文件并签出当前分支机构版本

    $ git checkout HEAD -- README.md
    
  3. 完成合并

    $ git commit
    
  4. 此外,安装合并驱动程序是有意义的,该合并驱动程序将在合并冲突的情况下保留文件的分支特定版本。在这种情况下,您永远不需要手动解决分支特定文件中的冲突。

    这种合并驱动程序通常称为ours,定义为:

    $ git config --global merge.ours.driver true
    

    现在,您可以在.gitattributes文件中指定何时应使用此合并。

    在我们的例子中,需要将以下规则添加到.gitattributes并提交它:

    README.md merge=ours