如何在GitHub上创建分支特定的文件

12

我想要具有相同名称的分支特定文件。我需要能够从我的开发分支合并到主分支,而不会影响此文件。

例如:
假设我想要两个不同的readme.md文件。其中一个文件中我想要内容为:MASTER,另一个文件内容为:DEV。但是如果我尝试这样做,在创建拉取请求时,GitHub 将尝试合并此文件,这正是我的问题所在。我不希望每次更改时 GitHub 都合并此文件。

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


这些文件已经提交了吗? - grimsock
@grimsock:是的,正如我在编辑中提到的那样,在我的情况下,我有两个这样的文件:readme.md和CI配置文件,所以显然它们需要被提交。 - Wojciech Kulik
1个回答

8
假设project是要合并的分支名称,而README.md是保存分支特定信息的文件名。
我建议按照以下步骤进行操作:
  1. Merge project branch, but make sure changes are not committed, and not fast-forwarded

    $ git merge --no-commit --no-ff project
    
  2. Unstage README.md file and checkout its current branch version

    $ git checkout HEAD -- README.md
    
  3. Complete merge

    $ git commit
    
此外,在合并冲突时,安装合并驱动程序以保留文件的分支特定版本是有意义的。在这种情况下,您将永远不需要手动解决分支特定文件中的冲突。
这样的合并驱动程序通常称为“ours”,并定义为:
$ git config --global merge.ours.driver true

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

在我们的情况下,需要将以下规则添加到.gitattributes文件中并提交:

README.md merge=ours


1
每次合并时都需要这样做吗? - wrufesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接