有时候手快 git add . 以后,发现有个文件还不想进这次提交,不用重新改工作区。
环境:Git 2.25+,在仓库根目录执行:
git restore --staged path/to/file
它会把这个文件从暂存区拿出来,但工作区里的改动还在。比如只想提交 src/,结果把 .env.example 也 add 了,就可以单独撤掉。
如果想一次清空暂存区,也可以:
git restore --staged .
这个命令不会丢改动,只是改 index。执行前后配合 git status 看一下,心里会比较有底。