要把已 git add
的文件从暂存区(staging area)移除(unstage),但又不丢失工作目录里的改动,可以用两种方式:
-
现代 Git(>=2.23)推荐
# 取消对单个文件的暂存 git restore --staged <文件路径> # 取消对所有已暂存文件的暂存 git restore --staged .
-
兼容旧版本
# 取消对单个文件的暂存 git reset HEAD <文件路径> # 取消对所有已暂存文件的暂存 git reset HEAD
执行后,改动仍然保留在你的工作区,只是不再处于“已暂存”状态,下次提交时就不会包含它们。