我们有一个大 repo ...并且驱动加密。所以git reset --(whatever)
需要很长时间。让我们想象一下情况:
checkout master a-clean && pull
我知道有几种方法可以恢复这些变化:
git reset --hard
- >慢git checkout .
- >似乎它与重置相同 - 硬,同样缓慢git stash
- 需要更长的时间git status
然后git checkout -- (filename)
。现在,这很快,但你必须为每个文件重复它!我自己和 bash 对彼此不太了解,所以做一些像git status | grep modified: | awk "git checkout -- {%2}"
这样的事情是我目前所不知道的事情。
然而,也许在mgit中有一个git checkout命令 - 对所有“modified:”文件?
答案 0 :(得分:1)
git status -s | grep -Po '^ ?M ?\K.*' | xargs git checkout --
-s
短格式,可用于解析grep -Po
:-P
perl正则表达式\K
与\K
,-o
打印匹配xargs
重复参数尽可能多的shell命令可以接受