我知道使用git checkout .
和How do I discard unstaged changes in Git?中所解释的相似,但想知道是否有可能执行“否定”丢弃。
也就是说,丢弃与一组扩展名不匹配的文件的非分段更改。
因此,不是git checkout -- "*.ext".
放弃对* .ext文件的更改,而是可以执行某种git checkout -- !(*.extA|*.extB|*.extC|*.extP)"
。当我将* .extA更改为* .extZ文件时。
也就是说,只留下* .extA,* .extB,* .extC和* .extP文件的更改。
这有可能吗?如果可以的话,我该怎么做?
答案 0 :(得分:1)
您可以使用路径排除
git checkout -- . `:!*.extA' ':!*.extB' ':!*.extC' ':!*.extP'