本人总是干这种挫事情:一顿操作猛如虎,各种git add
,各种git commit
,最后一看,我擦,还特么在master上,太吓人了,这咋办?——撤销commit:
$ git commit -m "commit on master"
$ git reset HEAD~
这样撤销了上面的commit。
后续该回滚回滚,该新建分支新建分支。
最后切记,时刻查看当前branch是个好习惯。
当然我们撤销master上的commit无非就是想切到自己的branch上提交代码,那好,现在master上面不是有一个commit么,那么就在当前master上新建一个branch出来,注意一定要从master上切,也就是当前branch一定是master:
$ git branch
* master
$ git branch -b my-branch
$ git push origin my-branch
这时候就能按照自己的branch提交代码了。
事情完了吗,没完,因为master上的那个提交还没revert,怎么搞,很简单,就是最上面那个reset命令,外加checkout:
$ git checkout master
$ git reset HEAD~
$ git checkout .
这样你的master branch就干净啦……