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

如何维护共享(大部分)一个文件的两个git存储库?,git,version-control,repository,Git,Version Control,Repository,我有一个git存储库,用于维护与一篇研究文章相对应的所有.tex文件、图形和代码。实际上,我有几篇文章,每篇文章一个存储库。现在我正在写我的论文,它有自己的git存储库,其中的几章将基于以前的研究,即文章存储库中的内容 如何将相关文件从文章git存储库复制到论文存储库,以便在两个存储库之间同步选定的提交 例如,我对论文进行了一次提交,修改了.tex文件的几行,以使输出与论文所需的格式匹配。这些更改不应反映在文章存储库中。但是,我进行了第二次提交,修复了.tex文件不同部分的打字错误。来自第二次提

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

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

例如,我对论文进行了一次提交,修改了.tex文件的几行,以使输出与论文所需的格式匹配。这些更改不应反映在文章存储库中。但是,我进行了第二次提交,修复了.tex文件不同部分的打字错误。来自第二次提交的更改,并且只有这些更改应该同步到文章存储库。本文的一位合著者在文章存储库中扩展了.tex文件中的一个部分。我想将这些更改(但仅限于提交中的更改,而不是覆盖其他部分)拉到存储库中


考虑到两个存储库之间的某些文件部分可能会出现很大差异,使用另一个存储库中的选定更改更新一个存储库的最简单方法是什么?

您要查找的很可能是git子模块:。这将允许您共享与文件特定版本挂钩的回购协议

因此,理想情况下,你将有三个回购协议:论文、文章和共享。然后,您将把共享作为子模块拉入其他两个回购协议

编辑: 现在,我再次想到它,我认为您可以通过简单地维护多个分支来解决这个问题。一篇论文一篇文章。需要更改的文件:创建另一个分支,进行更改。然后仅将其合并到要将更改合并到的一个或多个分支。我认为了解git flow工作流可能有助于您清晰地思考: