因为最近有同事要合并代码到master,我合并过去以后,发现有其他版本的代码,所以需要回退这次的合并
执行完merge操作后,没push
⑴ git reflog
查看merge操作的上一个提交记录的版本号
q 退出 log 状态 和 linux vim退出一样
⑵ git reset --hard 版本号
这样可以回滚到merge之前的状态
例
d61493ffd (origin/feature-2530V1.3.0xxxxxxx) HEAD@{1}: merge origin/feature-2530V1.3.0xxxxxx: Fast-forward
05023bc0c (HEAD -> master, origin/master, test) HEAD@{2}: checkout: moving from dev-v1.3.0 to master
因为这次我是从1.3.0的分支合并到master分支的。所以我上一步的动作是切换到master分支,既:05023bc0c
所以我只需要reset到05023bc0c就可以了
截图是我已经reset后的log,大家可以忽略。
至此问题解决。因为之前用svn所以git不是很熟练,担心后面需要再回退,所以记录一下。