Git:检出除一个文件外的所有文件

elcex8rz  于 12个月前  发布在  Git
关注(0)|答案(2)|浏览(119)

当我运行git status时,我会看到这样的文件:

modified:  dir/A/file.txt
modified:  dir/B/file.txt
modified:  dir/C/file.txt
modified:  dir/D/file.txt

字符串
我想做的是放弃对除dir/C/file.txt之外的所有文件的更改
我想做这样的事情:

git checkout -- dir/!C/file.txt

dojqjjoe

dojqjjoe1#

git add dir/C/file.txt # this file will stay modified and staged
git checkout .

字符串
如果您想在此之后取消暂存文件:

git reset

y0u0uwnf

y0u0uwnf2#

有一个秘密的单行命令:

git checkout -- $(git diff --name-only | grep -v "path/to/your/file")

字符串
对于多个文件:

git checkout -- $(git diff --name-only | grep -E -v "file1|file2|file3")

相关问题