Git:需要递归地'git rm'所有bin和obj文件夹的内容

Jac*_*cko 14 git git-clean git-stage git-rm

有人偶然将他们所有的bin和obj文件夹提交到我们的仓库(大约有40个这样的文件夹).我想git rm -r 在所有这些文件夹上做一个.有命令这样做吗?

seh*_*ehe 26

有备份,

 find . -type d -name bin -exec git rm -r {} \;

 find . -type d -name obj -exec git rm -r {} \;
Run Code Online (Sandbox Code Playgroud)

更新

使用bash,你可以设置shopt globstar,并开心:

 shopt -s globstar
 git rm -r **/{obj,bin}/
Run Code Online (Sandbox Code Playgroud)

最后,如果你需要从仓库的历史记录中删除这些,看git filter-branch和阅读部分的"删除对象"临Git的书


Ada*_*ruk 5

一旦恢复(将文件保留在历史记录中)或重置提交,

git reset --hard
Run Code Online (Sandbox Code Playgroud)

一旦这些被忽略文件,

git clean -xdf
Run Code Online (Sandbox Code Playgroud)

我在重建解决方案之前使用它进行清理.即使在结帐不同的分支或合并之后,似乎vs也使用了一些dll.

您不应该求助于过滤分支.交互式rebase会做.记住--preserve-merges标志.

希望这可以帮助.