我遇到了一个奇怪的问题,即使目录不在 .gitignore
中,它也会被忽略。可以肯定的是,我什至删除了 .gitignore
但这并没有什么区别。
基本上我有一个目录“CliClient”,经过多次重构后被移动到另一个目录下。现在我注意到,当这个目录存在时,git看不到它,而且也无法将其添加到索引中,也无法删除它。
见下文:
检查目录是否存在:
$ ll CliClient/
total 8.0K
drwxr-xr-x 2 4.0K Nov 5 12:31 .
drwxr-xr-x 11 4.0K Nov 5 12:31 ..
只是为了测试,尝试添加目录:
$ git add CliClient/
不,它没有这样做:
$ git status
On branch lerna_migration
Your branch is up to date with 'origin/lerna_migration'.
nothing to commit, working tree clean
所以它可能已经添加了?所以删除它:
$ git rm -r CliClient/
fatal: pathspec 'CliClient/' did not match any files
所以它就在那里,不在 .gitignore 中,不在索引中,但对 git 来说是不可见的。我尝试了很多方法,包括 git check-ignore,但这没有帮助。
知道原因是什么吗?
最佳答案
Git 仅跟踪文件。目录不会作为“真实”实体进行跟踪,而只是在文件位置的意义上进行跟踪。由于该目录是空的,因此 git 无法跟踪该目录,因此 git add
调用不会执行任何操作。
关于git - 为什么 Git 忽略这个不在 .gitignore 中的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64697414/