2016-10-09 Git 基础(四) - 撤销操作

情形一:提交完之后发现漏掉了几个文件没有添加,或者提交信息写错了。

使用命令:git commit --amend

git commit -m 'first commit'
git add forgotten_file
git commit --amend

情形二: 取消暂存的文件

使用命令:git reset HEAD

例如:已经修改了两个文件并且想要将它们作为两次独立提交,但是却意外的输入了 git add . 暂存了他们两个。如何取消其中一个?git status 命令已经提示了: git reset HEAD

➜  git_test git:(master) ✗ git add .
➜  git_test git:(master) ✗ gst
On branch master
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

    modified:   1
    modified:   2

➜  git_test git:(master) ✗ git reset HEAD 1
Unstaged changes after reset:
M   1
➜  git_test git:(master) ✗ gst
On branch master
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

    modified:   2

Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

    modified:   1

情形三:撤销对文件的修改

使用命令: git checkout -- ...

如果要放弃修改,将它还原成上次提交的样子,git status 也提示了怎么去做.

注意 该命令是个危险的命令,你对文件的任何修改都会消失,你只是拷贝了另一个文件来覆盖它。除非你确实清楚不想要那个文件了,否则不要用这个命令。

➜  git_test git:(master) ✗ git checkout -- 1
➜  git_test git:(master) ✗ gst
On branch master
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

    modified:   2

你可能感兴趣的:(2016-10-09 Git 基础(四) - 撤销操作)