将git remote维护到子目录

时间:2016-05-22 19:57:08

标签: git git-submodules git-remote

我有一个Git存储库,其结构如下:

src/
    .git/
    Api/
    Web/

我想将另一个存储库克隆到Web目录,并稍后将新的更改从远程传输到Web。但是我也想修改/Web下的文件并推送我对主遥控器所做的每一个更改。 我不想把任何东西都推到网络的遥控器上,只是推向主要的。

如果我从网络遥控器中提取更改,我希望看到我在主历史记录中所做的更改。

我可以在这种情况下使用git子模块吗?

docs"The other repository has its own history, which does not interfere with the history of the current repository."这就是为什么我犹豫不决,可能这不能用子模块完成......?

1 个答案:

答案 0 :(得分:1)

那会有效。 Git将跟踪内容的目录中的所有内容视为现有工作树的一部分;它只在.git - 包含目录边界时停止,当它扫描当前_un_tracked目录时。

问题是,您当时没有使用嵌套存储库作为子模块 - 您将实际内容提交到主存储库,而不仅仅是嵌套存储库中当前检出的提示的ID 。根本不要使用子模块命令,这将与你告诉git有关内容的所有内容相矛盾。

您必须将任何已更改的内容添加到主存储库,就像对任何其他更改一样。您还可以将其添加到嵌套存储库并在那里跟踪它。

  

并推动我所做的每一项改变

Git不存储更改,它存储快照。它分析存储的快照以检测并按需更改。

除非你得到支持决定的非常具体的成本效益分析结果,否则不要这样做。