使用另一个repo共享git下的文件子集,维护提交

时间:2017-05-22 18:16:49

标签: git github

我有一个GitHub仓库,用于跟踪一组小脚本中的变化(所有功能都独立)。

我也是实验室GitHub回购的一部分,用于收集我们小组中不同人员编写的有用脚本。

我想将对我的脚本所做的更改推送到共享仓库,但我不想让它们在该仓库下进行独占跟踪,我也不想在那里进行修改以覆盖我的主副本。

我采取的方法是每次更改内容时运行一个命令将脚本复制到共享仓库中,但这意味着我必须在该仓库中单独提交。每当我谷歌这个时,我最终都会回答提及submodules的答案,但我觉得我已经过度工作了。我想做什么。

有没有办法将我的主要仓库中的提交只集成到这些文件的辅助仓库中?

1 个答案:

答案 0 :(得分:0)

您将遇到的问题是“提交...仅适用于那些文件”。完整的内容树是git提交的组成部分。例如,如果将git filter-branchsubdirectory-filter一起使用,则它似乎会修改每个提交以将特定目录重新映射为工作树根;但它不会真的这样做,因为它不能。它的作用是使用修改后的工作树目录结构创建 new 提交,其历史记录与旧提交并行。

如果您可以构建共享存储库以便每个贡献者的脚本获得自己的目录,那么子模块确实是一个选项。我知道你觉得它过于设计了,但这是基于你的想法,即移动“提交的一部分”是一个简单的想法,这会导致你低估你应该遇到多少复杂性。

否则,我认为找到一种自动化基于拷贝的方法的方法是最好的。