我尝试结帐并使用git checkout命令丢弃此库,但似乎它对我不起作用。
我尝试删除此文件夹,但之后git要我将此已删除的文件夹添加到提交中,但我不想跟踪它或推送到服务器。
未提交的更改提交:(使用" git add ..."进行更新 什么将被承诺)(使用" git checkout - ..."丢弃 工作目录中的更改)(提交或丢弃未跟踪或 子模块中修改的内容)
已修改:Libraries / some_sdk(未跟踪内容)
答案 0 :(得分:1)
一种方法是进入该子模块文件夹并在其中执行:
cd /path/to/repo
cd Libraries/some_sdk
git reset --hard
这应该重置其索引。
然后,来自其父级仓库的git status
应该再次提及(子模块)文件夹。
我不想跟踪它或推送到服务器。
不会从父级仓库跟踪:所述父级仓库仅引用代表子模块仓库的SHA1的gitlink(special entry in the index)。
我尝试删除此文件夹,但之后git要我将此已删除的文件夹添加到提交
要删除子模块,请参阅" How do I remove a submodule?"
cd /path/to/repo
git submodule deinit Libraries/some_sdk
git rm Libraries/some_sdk
# note: no trailing slash
rm -rf .git/modules/Libraries/some_sdk
答案 1 :(得分:0)
如果通过删除文件夹git想要"删除"变化。这是因为它已经被跟踪过了。您可以使用
删除它们 git rm -r [path to dir]
如果他们没有被跟踪
git clean -df
可以解决问题(你可以使用-n标志代替-f进行干运行,告诉你哪些文件会被删除。