我是GitHub的新手,我正在努力为我目前遇到的一个问题找到解决方案。我会一步一步地走完我的程序:
首先,我创建了一个名为[project name]
的新文件夹,接下来,我使用了以下命令:
cd [project name]
git clone [remote project from github url]
到目前为止,我已经创建了一个文件夹,并克隆了我的团队正在GitHub中处理的一个项目。
接下来,我进入该文件夹并创建了一个Angular 项目
ng new [angulartest]
这将在同一文件夹中创建Angular 测试的所有组件,该文件夹是来自GitHub的组件的克隆。
最后,我在GitHub上推送了新的Angular 测试
git add [angulartest]
git commit
git push
实际情况是,它只推送文件夹[angulartest]
,但不推送其中的任何内容(即使其中有内容)。当我试图从它的内容中拉出时,我仍然得到一个空文件夹作为回报。
当我尝试进入该文件夹并使用以下步骤添加内容的每个元素时:
cd [angulartest]
git add e2e, src, nodemodules, etc
git commit
git push
它给出以下错误(即使我尝试单独添加每个元素):fatal: in unpopulated submodule [angulartest]
我想知道是不是我的Git语法有问题,Angular 项目有问题,还是我试图克隆项目的方式有问题。这样,当我寻找解决方案时,我知道我想要朝哪个方向前进。
6条答案
按热度按时间sq1bmfud1#
看起来,您可能已经删除了
.git
文件夹。如果是那样的话,你可以试试flmtquvp2#
从anlijudavid's comment窃取,这是我在MacOS上用zsh得到的实际答案。根据Richard Collette的评论将
-r
添加到此答案中。xyhw6mcr3#
在我的例子中,这个错误的根本原因是我有一个子目录,里面有它自己的
.git
文件夹。当我发出git add --all
命令时,我收到了同样的错误以下是我如何解决这个问题的
1.删除导致错误的子目录内的所有
.git
文件夹1.
cd
到主目录1.
git rm --cached sub_directory_name -f
1.
git add --all
递归添加子目录和内容1.
git status
验证物品是否已添加这个错误几乎让我头疼,但感谢前面的答案,这些答案的组合对我很有效。
vshtjzan4#
以下是我所做的
1.在存储库外的某个位置(例如,您的桌面)复制‘子模块’目录
1.从您的存储库中删除子模块目录
1.提交回购
1.进入对子模块目录的复制,删除
.gitignore
文件和.git
目录1.将子模块目录复制回您的repo并提交
这意味着我丢失了子模块的提交历史记录,但至少它修复了子模块中我的文件不会转到GIT的问题!
0lvr5msh5#
如果我们从第三方存储库中克隆,我们会收到这个“致命的:在未填充的子模块‘子模块名称’中”的错误。
使用以下命令修复此错误:
您也可以手动删除*.git*文件夹,然后尝试git添加
c0vxltue6#
当我在我的本地repo中有一个子目录,删除了.git以解决不同的问题,然后尝试将更新的html文件添加到我的repo中时,我得到了相同的错误。我去了GitHub,并使用他们的图形用户界面上传了文件。现在我可以看到所有的匹配和GIT状态都显示没有问题。