有人偶然将所有bin和obj文件夹提交给我们的仓库
(大约有40个这样的文件夹)。我想做一个git rm -r
在所有这些文件夹上。是否有命令这样做?
答案 0 :(得分: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
并阅读 {{3}中'删除对象'部分} 强>
答案 1 :(得分:5)
一旦恢复(将文件保留在历史记录中)或重置提交,
git reset --hard
一旦忽略这些文件,
git clean -xdf
我在重建解决方案之前使用它进行清理。即使在结帐不同的分支或合并之后,似乎vs也使用了一些dll。
您不应该求助于过滤器分支。交互式rebase会做。记住--preserve-merges标志。
希望这有帮助。
答案 2 :(得分:-3)
另一个选择是使用git revert
恢复违规提交。