有人不小心将他们所有的 bin 和 obj 文件夹提交到我们的仓库(大约有 40 个这样的文件夹)。我想git rm -r
对所有这些文件夹做一个。有没有命令可以做到这一点?
问问题
10530 次
3 回答
26
有备份,
find . -type d -name bin -exec git rm -r {} \;
find . -type d -name obj -exec git rm -r {} \;
更新
使用 bash,您可以设置 shopt globstar,并且很高兴:
shopt -s globstar
git rm -r **/{obj,bin}/
最后,如果您需要从存储库的历史记录中删除这些,请查看git filter-branch
并阅读Pro Git Book中有关“删除对象”的部分
于 2011-05-03T14:10:38.793 回答
5
一旦您恢复(将文件保留在历史记录中)或重置提交,
git reset --hard
一旦这些被忽略的文件,
git clean -xdf
我在重建解决方案之前使用它来清理。即使在签出不同的分支或合并之后,似乎 vs 也会使用一些 dll。
您不需要诉诸过滤器分支。交互式变基就可以了。记住 --preserve-merges 标志。
希望这可以帮助。
于 2011-05-03T14:14:11.313 回答
-3
另一种选择是使用git revert
.
于 2011-05-03T14:14:21.003 回答