git wildcard - 删除子目录的所有实例

Aar*_*nHS 6 git version-control find

我试图执行git rm --cached -r <folder>以递归方式删除名为.svn的文件夹的所有实例.我试过这个:

.svn
/.svn
/*/.svn
/*/*/.svn

etc 
Run Code Online (Sandbox Code Playgroud)

它有效,但我确信有一种更有活力的方式.

谢谢

小智 13

正确的解决方案是:

find . -type d -name '.svn' -print0 | xargs -0 git rm --cached -r --
Run Code Online (Sandbox Code Playgroud)

@ gregor将在带空格的目录上失败.

  • 如果存在"不匹配.."错误,请在git命令上使用--ignore-unmatch...4岁,但谷歌仍然是最好的结果. (3认同)