繁体   English   中英

Git - 如何删除子模块中未跟踪的文件夹

[英]Git - How to remove untracked folder in submodules

我尝试使用 git checkout 命令结帐并丢弃此库,但似乎对我不起作用。

我试图删除这个文件夹,但之后 git 要我将此删除的文件夹添加到提交中,但我不想跟踪它或推送到服务器。

未为提交暂存的更改:(使用“git add ...”更新将提交的内容)(使用“git checkout -- ...”放弃工作目录中的更改)(提交或丢弃未跟踪或修改的内容子模块)

修改:Libraries/some_sdk(未跟踪的内容)

一种方法是进入该子模块文件夹并在其中执行:

cd /path/to/repo
cd  Libraries/some_sdk
git reset --hard

那应该重置它的索引。

然后,来自其父存储库的git status应该不再提及(子模块)文件夹。

我不想跟踪它或推送到服务器。

不会从父存储库跟踪它:所述父存储库仅引用代表子模块存储库 SHA1 的gitlink索引中的特殊条目)。

我试图删除这个文件夹,但之后 git 要我将此删除的文件夹添加到提交中

要删除子模块,请参阅“如何删除子模块?

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

如果通过删除文件夹 git 想要“删除”更改。 因为它已经被跟踪了。 你可以删除它们

git rm -r [path to dir]

如果他们没有被跟踪

git clean -df可以解决问题(您可以使用 -n 标志而不是 -f 进行试运行,它会告诉您将删除哪些文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM