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

发布于 2024-11-04 23:19:38 字数 107 浏览 5 评论 0原文

有人不小心将所有 bin 和 obj 文件夹提交到我们的存储库 (大约有 40 个这样的文件夹)。我想做一个git rm -r 在所有这些文件夹上。有命令可以执行此操作吗?

Someone by accident just commited all of their bin and obj folders to our repo
(there are around 40 such folders). I would like to do a git rm -r
on all of these folders. Is there a command to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

影子是时光的心 2024-11-11 23:19:38

进行备份、

 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< 中的“删除对象” /a>

Have backups,

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

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

Update

With bash, you can set the shopt globstar, and be happy:

 shopt -s globstar
 git rm -r **/{obj,bin}/

Finally, if you need to remove these from the history of the repository, look at git filter-branch and read the section on 'Removing Objects' from the Pro Git Book

白色秋天 2024-11-11 23:19:38

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

git reset --hard

一旦这些文件被忽略,

git clean -xdf

我就会在重建解决方案之前使用它来清理。即使在签出不同的分支或合并之后,VS 似乎也会使用一些 dll。

您不需要诉诸过滤分支。交互式变基就可以了。请记住 --preserve-merges 标志。

希望这有帮助。

Once you revert (will keep files in history) or reset the commit,

git reset --hard

Once these are ignored files,

git clean -xdf

I use that to clean up before rebuilding a solution. Seems vs uses some dlls even after a checkout of a different branch or a merge.

You shouldn't need to resort to filter branch. Interactive rebase will do. Remember the --preserve-merges flag.

Hope this helps.

娇纵 2024-11-11 23:19:38

另一种选择是使用 git revert 恢复有问题的提交。

Another option is to revert the offending commit with git revert.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文