情形一:提交完之后发现漏掉了几个文件没有添加,或者提交信息写错了。
使用命令:
git commit --amend
git commit -m 'first commit'
git add forgotten_file
git commit --amend
情形二: 取消暂存的文件
使用命令:
git reset HEAD <file>
例如:已经修改了两个文件并且想要将它们作为两次独立提交,但是却意外的输入了
git add .
暂存了他们两个。如何取消其中一个?git status
命令已经提示了:git reset HEAD <file>
➜ git_test git:(master) ✗ git add .
➜ git_test git:(master) ✗ gst
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." 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 <file>..." to unstage)
modified: 2
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: 1
情形三:撤销对文件的修改
使用命令:
git checkout -- <file>...
如果要放弃修改,将它还原成上次提交的样子,
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 <file>..." to unstage)
modified: 2