Git撤销操作

Posted 7788it

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git撤销操作相关的知识,希望对你有一定的参考价值。

修改最后一次提交

如果提交后发现想要修改提交信息,可以直接使用 git commit --amend 命令,使用该命令后,Git会启动文本编辑器,然后可看到上次提交时的说明,编辑它确认没问题后保存退出,就会使用新的提交说明覆盖刚才的提交信息:

$ git commit --amend

如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend 提交:

$ git add forgotten_file
$ git commit --amend

 

取消已经暂存的文件

$ git status
On branch master
Your branch is ahead of ‘origin/master‘ by 8 commits.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
?
      modified:   README.config
      modified:   README.md

使用命令 git reset HEAD README.config 将README.config移出暂存区:

$ git reset HEAD README.config
Unstaged changes after reset:
M       README.config
?
$ git status
On branch master
Your branch is ahead of ‘origin/master‘ by 8 commits.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
?
      modified:   README.md
?
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)
?
      modified:   README.config

 

可看到,README.config已经为Changes not staged for commit状态。

取消对文件的修改

将README.config移出暂存区后,可以进一步使用命令 git checkout -- README.config 取消对README.config的修改。

$ cat README.config
hello
?
$ git checkout -- README.config
?
$ git status
On branch master
Your branch is ahead of ‘origin/master‘ by 8 commits.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
?
      modified:   README.md
?
$ cat README.config

 

《pro git》学习笔记

 

以上是关于Git撤销操作的主要内容,如果未能解决你的问题,请参考以下文章

Git常用操作--创建提交撤销

如何在 Git 里撤销任何操作

如何撤销Git操作?

Git命令——撤销操作

git 撤销操作

如何撤销Git的一次分支合并操作