我不确定是否可能,但我希望能够有一个单一的文件,并在两个保存在git存储库中的项目中使用它。这样,如果我在一个项目中进行更改,则另一个项目在拉取文件时会捕捉到该更改。理想情况下,该特定文件的历史记录将显示来自两个项目的所有更改。其他所有内容都将保持分离。
除了Git子模块之外,子树合并是另一种处理方式。您可以在Pro Git书中(免费在线阅读)阅读一个很好的介绍;还有一个官方教程。Avery Pennarun编写了一个名为git-subtree的专门用于优雅地处理Git子树合并的工具。 您可以在他的博客中阅读有关此工具的详细信息,并在github上找到代码。从他的帖子中:请注意,与git子模块不同,git子树不会改变使用您项目的人的工作方式。 就他们而言,它只是一个大项目; 除非他们想要,否则没有人需要运行(或安装)git子树。 如果您愿意,提取子项目历史记录并将其上传到子项目存储库可以成为单个人的责任。