大加密Git仓库中快速撤销所有修改的高效命令咨询
快速批量撤销所有Modified文件的Git命令
嘿,我太懂你这种在大型加密Git仓库里的痛苦了——那些动辄扫描整个仓库的命令慢到让人怀疑人生!其实不用找什么mgit,用Git自带的命令组合就能轻松实现你要的批量撤销,而且完全不需要复杂的bash脚本功底。
直接用这一行命令就行:
git checkout -- $(git ls-files -m)
拆解一下这个命令的作用:
git ls-files -m:这部分会列出当前仓库中所有标记为modified的文件路径,只会输出你已经修改过的文件,不会涉及整个仓库的扫描,所以速度很快。$(...):这是bash的命令替换功能,会把前面命令输出的所有文件路径,作为参数传给后面的git checkout --命令。git checkout -- <文件路径>:就是你已经知道的单个撤销修改的命令,这里批量作用在所有modified文件上,速度和你手动一个个执行完全一样快。
额外提醒:
- 这个命令只会处理已追踪且被修改的文件,如果你还有新增的未追踪文件(
git status里显示为untracked),需要用git clean -fd来删除(执行前一定要确认这些文件是真的不需要了!)。 - 和单个
git checkout --一样,这个操作是不可恢复的,执行前务必确认你确实要撤销所有修改哦。
内容的提问来源于stack exchange,提问作者Mike Makarov
相关产品推荐
相关产品推荐

