刚才我出现了这个问题,因为我曾经在一个由 git 控制的顶级文件夹create-react-app
中初始化一个应用程序:client
todo
cd todo
npx create-react-app client --template typescript
在引擎盖下,这创建了client
一个包含.git
目录和文件的.gitignore
文件夹。这就像一个 git 子项目。
当我通过git add -i
源代码控制添加项目时,创建了一个奇怪的空目录指针,但没有内容。
我使用了命令
git rm --cached client
...它删除了 git 存储的奇怪的空目录/指针。但是当我尝试添加文件夹时,我收到了这条消息:
~/depot/todo $ git add client
warning: adding embedded git repository: client
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint: git submodule add <url> client
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached client
hint:
hint: See "git help submodule" for more information.
为了解决这个问题,我删除了 git 工件,然后我可以正常提交。
rm -Rf client/.git
rm -f client/.gitignore
git add client
git commit -m "Add missing client content"