git回退一个版本的方法
2020-03-08 本文已影响0人
好重
有时候错误地进行了一次提交,想回滚代码时,用到的命令是git reset,这个命令有三种模式:
-
git reset --hard HEAD^
即往前回退一个版本,回退完了后工作区就是上一个版本的代码了,并且是clean的。 -
git reset --soft HEAD^
往前回退一个版本,并且将这次错误的提交的代码改动,放在暂存区里。 -
git reset --mixed HEAD^
(和不带参数是一样的)
往前回退一个版本,并且将这次错误的提交的代码改动,放在工作区里。
如果错误的提交已经被push到远程仓库,那么回退一个版本后,还需要pull最新的代码才能进行push,此时又把错误的提交pull下来了,这个时候就需要强制推送了,命令是这个
git push origin HEAD --force
但是强推之后呢,错误的提交的记录就没有了,直接就是前一次提交的记录了。有什么办法能将上次的提交记录复制一个节点附加在错误的提交节点之后呢?
欢迎评论赐教。