git:回滚commit但未push代码

这个场景经常出现,发现合并分支(从A分支合并到B分支)后,该分支(B分支)没有push提交权限,所以只能回滚(回滚B分支)合并merge后的记录,保持B分支干净,回到从前。

git log 查看提交日志
命令:git log
输入 q  则退出

输出结果如下所示:

解析:commit后是每次提交的唯一标志,从上往下时间是从近到远,其实选择在当前分支上,选择响应的提交记录,回滚到响应的提交记录上面即可。放弃或回滚本次提交,命令如下所示;

命令:git reset --hard commitId (commitId填上一次提交的commitId)
命令:git reset --hard HEAD^ (回退到上个版本)
命令:git reset --hard HEAD~3 (回退到前3次提交之前,以此类推,回退到n次提交之前)

输入git pull 更新与输入git status 查看状态,本次提交已经回滚了。

命令:git pull
命令:git status

git status 输出如下所示:

guodong@guodongdeMBP springboot_elasticsearch % git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

汇总:git回滚这种场景经常遇到,所以要好好的掌握git命令是非常重要的。

posted @ 2023-04-24 16:04  郭慕荣  阅读(1159)  评论(0编辑  收藏  举报