Git不会删除位于忽略目录中的git repo

问题描述 投票:0回答:1

我有一个.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 gitignore
1个回答
0
投票

尝试运行git clean -f -f -x -d(或git clean -ffxd

引用文档(并强烈提示@LasseVKarlsen提出的问题):

-f,--force

如果Git配置变量clean.requireForce未设置为false,除非给定-f或-i,否则git clean将拒绝删除文件或目录。 Git将拒绝修改未跟踪的嵌套git存储库(具有.git子目录的目录)除非提供第二个-f

© www.soinside.com 2019 - 2024. All rights reserved.