丢弃提交
当写完代码提交了之后,在看到的时候发现太懒了,想直接丢弃重写。
这时候,就体现出丢弃最新提交的作用了
reset --hard 丢弃最新的提交
如果想丢弃最新的提交,可以使用下面的命令
git reset --hard HEAD^
解释:
- HEAD 代表当前工作目录,^ 代表前一个工作目录。所以 commit 代表最近的一次提交
- 这里的删除只是把 HEAD指针往前移了一下,并没有真正的删除那条 commit ,所以还可以通过那个 commit 的标识码找到它
rebase -i 使用交互式 rebase 丢弃最新提交
rebase -i 既可以用来修改某些旧的修改提交,他还可以用于撤销提交
撤销倒数第二条 commit, 可以使用 rebase -i
git rebase -i HEAD^^
解释:
- 这个界面和用
rebase -i
进行修改之前的提交的界面一样 - 修改之前的 commit 的话只需要把 commit 编号前的 pick 改成 edit, 而删除一个提交的话,就可以直接 删掉那一行