将子文件夹添加到git repo,由于某种原因显示为空

时间:2015-08-22 10:28:35

标签: git github

我对git很新(仅两周)。

我尝试搜索其他答案,但似乎没有任何效果,对不起,如果答案应该是显而易见的,那么就这样了。

我有几个git repos,我决定不应该真的是单独的repos,因为它们都属于同一个项目。

所以我制作了一个新的git repo“lpthw”,并在该repo中的终端创建了另一个名为“P0001”的git repo。我将所有文件从原始“P0001”成功拉入新的子文件夹“P0001”。

我将目录更改为“lpthw”,添加我所做的更改,提交它们,然后将它们推送到github。

当我去github检查它时,lpthw repo就在那里,就像P0001子文件夹一样,但P0001子文件夹中没有文件出现。当我检查文件查看器时,它们肯定存在。

我是以错误的方式接近这个吗?或者,当你将子文件夹推送到github以确保文件随附时,我错过了一个步骤?

任何帮助都会受到赞赏,与此同时我会继续按下并看看会发生什么。

1 个答案:

答案 0 :(得分:0)

P0001只是lpthw父回购中的嵌套回购:父回购将忽略其内容(实际为P001 HEAD would still be tracked as a gitlink)。

如果您要删除该文件夹,然后将其作为 submodule 重新添加,那么 lpthw就可以保留参考P001内容

cd /path/to/lpthw 
git submodule add -- https://github.com/user/P001 P001
git add .
git commit -m "add P001 as a submodule"
git push

在GitHub上,您仍然只能看到P001文件夹(空),但这可能是gray folder, meaning a gitlinkspecial entry in lpthw index

任何git clone --recursive https://github.com/user/lpthw也会在右侧SHA1中克隆P001