我有一个.gitignore
文件,其中包含target
目录。现在我已经意识到,即使我这样做,git也不会删除target
目录中的git存储库:
$ git clean -fdx
Skipping repository target/x
是否存在解决方案?特殊配置选项?原因我给了-f
力量等?
更新:
我可以通过以下手动步骤在target
目录中手动创建存储库:
maven-it-extension (issue-21)$ git st
On branch issue-21
Your branch is up to date with 'origin/issue-21'.
nothing to commit, working tree clean
maven-it-extension (issue-21)$ mkdir target/x
mkdir: target: No such file or directory
maven-it-extension (issue-21)$ mkdir -p target/x
maven-it-extension (issue-21)$ cd target/x/
x (issue-21)$ git init .
Initialized empty Git repository in /Users/khmarbaise/ws-git-apache/maven-it-extension/target/x/.git/
x (master #)$ cd ..
target (issue-21)$ cd ..
maven-it-extension (issue-21)$ git status
On branch issue-21
Your branch is up to date with 'origin/issue-21'.
nothing to commit, working tree clean
maven-it-extension (issue-21)$ git clean -fdx
Skipping repository target/x
maven-it-extension (issue-21)$
更新
使用补充-f
是如下所示的解决方案:
maven-it-extension (issue-21)$ git clean -f -fdx
Removing target/
尝试运行git clean -f -f -x -d
(或git clean -ffxd
)
引用文档(并强烈提示@LasseVKarlsen提出的问题):
-f,--force
如果Git配置变量clean.requireForce未设置为false,除非给定-f或-i,否则git clean将拒绝删除文件或目录。 Git将拒绝修改未跟踪的嵌套git存储库(具有.git子目录的目录)除非提供第二个-f。