共计 554 个字符,预计需要花费 2 分钟才能阅读完成。
需求 , 现在我 git add 之后, 但是我还想放弃 git add, 回到上一次 git commit 的状态, 怎么办? (就是说撤销掉暂存区, 回到工作区的状态)
分两步执行:
场景 1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景 2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景 1,第二步按场景 1 操作。
Git 同样告诉我们,用命令 git reset HEAD file 可以把暂存区的修改撤销掉(unstage),重新放回工作区:$ git reset HEAD readme.txt
Unstaged changes after reset:
M readme.txt
git reset
命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用 HEAD
时,表示最新的版本。(HEAD^ 表示上一个版本, 就是 git log 的第二次)
总结:
场景 1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景 2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景 1,第二步按场景 1 操作。
正文完