git不从其他git目录添加文件

时间:2018-11-12 23:56:12

标签: git git-submodules revision

如何将git修订版文件添加到其他git?

当前设置:

env/A.txt
env/.git         <-- parent git

env/docs
env/docs/B.txt
env/docs/.git    <-- child git

env目录中,我希望能够将所有文件(包括子git的文件)添加到父git。由于某种原因,我无法做到这一点。 env/docs/B.txt内的所有文件均未添加到父git。该怎么办?

1 个答案:

答案 0 :(得分:1)

  

由于某种原因,我无法做到这一点

这是预期的:docs被视为嵌套的Git存储库,并且仅将其根树SHA1记录为gitlink。
它不是子模块,除非您在父仓库的根目录有一个.gitmodules,并且引用了docs/,否则它不是子模块。

如果您已经添加了gitlink,则需要先将其删除:请参阅“ Nested GIT Repository mistake method to remove it?

然后一种解决方案是将docs远程存储库添加为 submodule
但是,如果您不关心这些文件的历史记录,则另一种方法是移动或删除docs/.git文件夹:这将使docs/成为常规子文件夹,您可以在其中添加和提交其父文件夹envs/