【问题标题】:How to create branch-specific files on GitHub如何在 GitHub 上创建特定于分支的文件
【发布时间】:2016-01-09 03:02:41
【问题描述】:

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

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

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

【问题讨论】:

  • 那些文件已经提交了吗?
  • @grimsock:是的,正如我在编辑中提到的那样,在我的例子中,我有两个这样的文件:readme.md 和 CI 配置文件,所以显然它们需要提交

标签: git github version-control git-branch


【解决方案1】:

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

我建议以下步骤:

  1. 合并项目分支,但要确保更改没有提交,也没有快进

    $ git merge --no-commit --no-ff project
    
  2. Unstage README.md 文件并检查其当前分支版本

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

    $ git commit
    

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

此类合并驱动程序通常称为ours,定义为:

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

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

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

README.md merge=ours

【讨论】:

  • 每次合并时都需要这样做
猜你喜欢
  • 2022-12-08
  • 2021-05-23
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-30
  • 2019-10-22
相关资源
最近更新 更多