一般的版本回滚都是push完以后发现有错误需要回滚,这里要用到是git reset命令。该命令有3个参数,mixed,soft和hard,下面做简单区别讲解。
-
–mixed
不删除工作空间的改动代码,撤销 commit 和 add 操作。这个为默认参数,
git reset --mixed HEAD^
和
git reset HEAD^
效果是一样的。 -
–soft
不删除工作空间的改动代码,撤销commit,不撤销add。 -
–hard
删除工作空间的改动代码,撤销 commit 和 add 操作,也就是全部删除。 - 备注1:HEAD^的意思是上一个版本,也可以写成HEAD~1,如果你进行了多次commit都想撤回,那就把1改成对应的次数。
- 备注2:HEAD^可以用 commit 的版本号直接替代,commit的版本号可以通过git log查看。
完成操作后,恢复到了什么版本也可以用git log来查看。
确认回撤到你要版本以后,push的时候要用上–force参数,比如
git push --force
,此push的版本就能把中间要回滚的版本覆盖掉。
最后,如果只是想改一下commit的注释注释信息,只需要执行如下命令,就会进入vim编辑器,修改保存即可。
git commit --amend
版权声明:本文为a5nan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。