如何维护两个共享(大部分)文件的git存储库?

时间:2014-01-09 19:55:38

标签: git version-control repository

我有一个git存储库,用于维护与研究文章相对应的所有.tex文件,图形和代码。实际上,我有几篇文章,每篇文章一个存储库。现在我正在研究我的论文,它有自己的git存储库,其中几章将基于以前的研究,即文章存储库中的内容。

如何将相关文件从文章git存储库复制到论文存储库,以便我可以同步两个存储库之间的选定提交?

例如,我提交了一篇论文,该论文改变了.tex文件的几行,使输出与我论文所需的格式相匹配。这些更改永远不应反映在文章存储库中。但是,我进行了第二次提交,修复了.tex文件的不同部分中的拼写错误。第二次提交和仅这些更改的更改应同步到文章存储库。本文的共同作者之一扩展了文章存储库中.tex文件中的一个部分。我想将这些更改(但只是来自该提交的更改,而不是覆盖其他部分)提取到论文存储库。

使用来自另一个存储库的选择更改来更新一个存储库的最简单方法是什么?假设两个存储库之间的文件的某些部分可能开始显着分歧?

1 个答案:

答案 0 :(得分:0)

你正在寻找的很可能是git子模块:http://git-scm.com/book/en/Git-Tools-Submodules。这将允许您共享与特定版本文件挂钩的repo。

理想情况下,你将有三个回购:论文,文章和共享。然后你将共享作为一个子模块共享到其他两个repos。

修改 既然我再次想到它,我想你可以通过简单地维护多个分支来解决这个问题。一篇论文,一篇论文。您需要更改的文件:创建另一个分支,进行更改。然后只将它合并到要将更改合并到的分支或分支。我认为了解git flow工作流程可能会帮助您清晰地思考:http://nvie.com/posts/a-successful-git-branching-model/