如何删除git远程仓库中所有被忽略的文件?

2023年2月21日服务端开发评论49,965字数 378阅读1分15秒阅读模式

如果之前已经push到远程仓库的文件,即使之后把文件加入了.gitignore文件,还是会提交修改,无法被忽略。

有没有什么办法删除git远程仓库中所有被忽略的文件呢?

有一个命令可以解决这个问题:

git ls-files --ignored --exclude-standard | sed 's/.*/"&"/' | xargs git rm -r --cached

它的作用是:

  • 列出所有被忽略的文件
  • 处理带有空格的路径以避免失败
  • 调用git rm -r --cached从索引中删除所有被忽略的文件(不从本地计算机中删除它们)

对于 2022 年使用此功能的任何人,还需要给 ls-files 增加 -c 参数:

git ls-files -c --ignored --exclude-standard | sed 's/.*/"&"/' | xargs git rm -r --cached

在 Git 中如何撤销掉之前的某一次提交 技巧分享

在 Git 中如何撤销掉之前的某一次提交

今天同事提交了一次修改,我拉取了他的修改继续做了很多工作,并提交了多次。 在准备远程的时候,我审查了下他的代码,发现有严重的问题,那么如果我只想撤回他的那次提交,而保留我之后的提交,该怎么做呢? 可以...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定