我有一个具有以下结构的Git存储库:
src/
.git/
Api/
Web/我希望将另一个存储库克隆到Web目录中,并在以后不时地将新的更改从远程存储到Web。但我也想修改/Web下的文件,并将我所做的每一处更改都推送到我的主遥控器上。我不想将任何东西推送到Web的远程,只推送到主服务器。
如果我从Web remote拉取更改,我希望看到我在主历史记录中拉取的更改。
我可以在这个场景中使用git子模块吗?
docs说"The other repository has its own history, which does not interfere with the history of the current repository.",这就是为什么我在犹豫,也许这是不能用子模块完成的…?
发布于 2016-05-23 09:06:26
这会起作用的。Git将目录中包含跟踪内容的所有内容都视为现有工作树的一部分;当它正在扫描当前的-_un_.git目录时,它只会在包含跟踪的目录边界处停止。
问题是,此时您并没有将嵌套存储库用作子模块--您将实际内容提交到主存储库,而不仅仅是嵌套存储库中当前签出的提示的id。根本不要使用submodule命令,这将与您告诉git的关于内容的其他所有内容相矛盾。
您必须将任何更改的内容添加到您的主存储库,就像添加任何其他更改一样。您还可以将其添加到嵌套存储库中,并在那里跟踪它。
并推送我所做的每一个更改
Git不存储更改,它存储快照。它会分析存储的快照,以检测并按需处理更改。
除非你有一个非常具体的成本效益分析的结果来支持这个决定,否则不要这么做。
https://stackoverflow.com/questions/37379018
复制相似问题