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