我对github很新,我正在努力找到解决当前问题的方法。我将逐步完成我的流程:
首先创建一个名为[项目名称]的新文件夹 接下来我使用了这些命令:
cd [project name]
git clone [remote project from github url]
到目前为止,我已经创建了一个文件夹并克隆了我的小组正在github上工作的项目。
接下来,我进入该文件夹并使用
创建了一个角度项目 ng new [angulartest]
这会将我的角度测试的所有组件创建到同一个文件夹中,该文件夹是来自github的文件夹的克隆。
最后,我用
在github上推动了新的角度测试 git add [angulartest]
git commit
git push
发生的事情是它只推送文件夹[angulartest]但没有其内容(即使其中有内容)。当我尝试从其内容中提取时,我仍然只得到一个空文件夹。
当我尝试输入该文件夹并添加内容的每个元素时,请使用以下步骤:
cd [angulartest]
git add e2e, src, nodemodules, etc
git commit
git push
它给了我错误: 致命的:在无人居住的子模块中[angulartest] 即使我尝试单独添加每个元素。
我想知道我的git语法,角度项目或我尝试克隆项目的方式是否有问题。这样,我知道在寻找解决方案时我想朝哪个方向前进。谢谢你,祝你有愉快的一天!
答案 0 :(得分:23)
好像你删除了.git文件夹。在这种情况下,你可以尝试 git rm --cached angulartest -f
答案 1 :(得分:16)
git rm --cached . -rf
从anlijudavid's comment那里窃取,这是我在使用zsh的macOS上的实际答案。 根据Richard Collette的评论在此答案中添加-r。
答案 2 :(得分:9)
在我的情况下,此错误的根本原因是我有一个带有自己的.git
文件夹的子目录。当我发出git add --all
命令时,我遇到了同样的错误
这是我解决问题的方式
.git
文件夹cd
到主目录git rm --cached sub_directory_name -f
git add --all
递归添加子目录和内容git status
以验证是否已添加项目我几乎对这个错误感到头疼,但是感谢以前的回答,为我提供了很多帮助。
答案 3 :(得分:4)
这就是我所做的
.gitignore
文件和.git
目录这意味着我丢失了子模块的提交历史记录,但至少它解决了我的文件在子模块中不会出现git的问题!
答案 4 :(得分:4)
如果从第三方存储库克隆,则会出现“致命:在未填充的子模块'submodule name'中的错误”。
使用此错误修复程序
git rm --cached <submodule name> -f
还可以手动删除 .git 文件夹,然后尝试git add
答案 5 :(得分:0)
当我在本地存储库中有一个子目录时,我遇到了同样的错误,删除了 .git 以解决不同的问题,然后尝试将更新的 html 文件添加到我的存储库中。 我去了 github 并使用他们的 GUI 上传了文件。现在我可以看到所有匹配项和 git status 显示没有问题。