【问题标题】:How to maintain and refer a file, single copy for many git branches?如何维护和引用一个文件,多个 git 分支的单个副本?
【发布时间】:2015-01-22 06:44:12
【问题描述】:

我有一个情况:我在master 分支中的readme.md 文件也需要在gh-pages 分支上。
如果我在一个分支上对文件进行任何更改,我需要将它们复制到另一个分支上。

有没有办法拥有可以被其他分支引用的通用 git 分支?
或者同时在两个分支中跟踪一个文件?

有关此问题的更多详细信息,请参阅https://github.com/anupam-arohi/lv

【问题讨论】:

    标签: git git-branch


    【解决方案1】:

    一个分支不被另一个分支“引用”,并且一个分支中具有新版本的文件需要在另一个分支上以某种方式“复制”新版本内容。

    你有两种方法:

    1. 一旦您更改了一个分支中的文件,您就可以检出另一个分支并复制它(我在“How to update a file across all branches in a Git repository”中提到了一个通用脚本)
      在你的情况下,那将是

      git checkout gh-pages
      git checkout master -- aFile
      
    2. 由于第一个选项不是自动的,您可以考虑通过.gitattributes declaration 设置content filter driver,这是一个涂抹脚本,在结帐时会自动从另一个分支复制文件的内容。


      (图片来自“Customizing Git - Git Attributes”,来自“Pro Git book”)

    该脚本将get the content of the file from the other branch 并替换签出分支中同一文件的内容。

    git show master:path/to/aFile > path/to/aFile
    

    【讨论】:

      猜你喜欢
      • 2019-04-20
      • 2015-06-01
      • 2021-03-29
      • 2021-04-18
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      相关资源
      最近更新 更多