Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在GitHub上创建特定于分支的文件_Git_Github_Version Control_Git Branch - Fatal编程技术网

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

如何在GitHub上创建特定于分支的文件,git,github,version-control,git-branch,Git,Github,Version Control,Git Branch,我希望具有同名的分支特定文件。我需要能够从我的开发分支合并到master,而不需要在此文件中进行更改 例如: 假设我想要两个不同的readme.md文件。其中一个我想有内容:MASTER,另一个是DEV。但如果我尝试这样做,在创建拉请求时,GitHub将尝试合并此文件,这正是我的问题。我不希望每次进行更改时GitHub都合并此文件 解决此问题的最佳方法是什么?假设project是要合并的分支的名称,README.md是保存分支特定信息的文件的名称 我建议采取以下步骤: 合并项目分支,但确保未提交

我希望具有同名的分支特定文件。我需要能够从我的开发分支合并到master,而不需要在此文件中进行更改

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


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

假设
project
是要合并的分支的名称,
README.md
是保存分支特定信息的文件的名称

我建议采取以下步骤:

  • 合并项目分支,但确保未提交更改,且未快进

    $ git merge --no-commit --no-ff project
    
  • 取消stage
    README.md
    文件并签出其当前分支版本

    $ git checkout HEAD -- README.md
    
  • 完全合并

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

    这种合并驱动程序通常称为我们的,定义如下:

    $ git config --global merge.ours.driver true
    
    现在,您可以在
    .gittributes
    文件中指定应该使用此合并的时间

    在本例中,需要将以下规则添加到
    .gittributes
    并提交:


    README.md merge=ours

    这些文件已经提交了吗?@grimsock:是的,正如我在编辑中提到的,在我的例子中,我有两个类似的文件:README.md和CI配置文件,所以显然它们需要提交。我每次合并时都需要这样做