撤销
如果提交之后,需要补上几个遗漏的文件使之作为一次提交或者修改本次提交信息,可以在commit添加--amend
选项,git commit --amend
不产生新的提交:
$ git commit --amend 打开编辑器,修改本次提交说明
$ git commit --amend --no-edit 附入本次提交,不修改提交说明
取消暂存——git reset
已暂存的文件会出现在git status
的Changes to be committed
下,同时还有一句(use "git reset HEAD <file>" to unstage)
,即:使用git reset HEAD <file>
来取消暂存。
- 修改文件,并
git add <file>
暂存 git status
查看,Changes to be committed
下git reset HEAD <file>
,取消暂存git status
查看,Changes not staged for commit
下,修改从暂存区撤销,工作区仍保留修改版本
撤销修改——git checkout
已修改的文件会出现在git status
的Changes not staged for commit
下,并提示(use "git add <file>" to update what will be committed)
和(use "git checkout -- <file>" to discard changes in working directory)
,后者即是提示使用git checkout -- <file>
来丢弃工作区中的修改。
- 修改文件,不暂存
git status
查看,Changes not staged for commit
下git checkout -- <file>
,丢弃修改git status
查看,该文件未出现,即该文件保持与上次提交同步,未修改,1中的修改无法找回。