记录一次错误提交到github 远端 master的回滚过程
最近,一直在测试项目新功能 ,一不小心把本地测试代码提交到了远程master分支上面。
找资料执行远端的回滚操作:
啥都不说了 ,先把本地项目copy一份做back。
首先进入我们的项目根目录下面,切换到master分支上:
git branch
git checkout mster
找到github项目所在的 master分支,确定需要回退的版本,比如id =d96206f**********e450c4a6241da63d8
然后执行reset操作
git reset --hard 'd96206f**********e450c4a6241da63d8' // 务必备份本地代码,执行完此操作代码将回退到此时commit的代码。
如果直接推送master分支会报错
主要如下:
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
说你的版本落后于此分支,这是必然的,因为需要回退嘛。
执行强制提交命令:
$ git push -f origin master
如果报错,需要关闭主分支master的保护,操作完成以后,在开启主分支的保护机制。
(git报错,需要进入gitlab项目设置,protected branches里取消master的protected)
如果没有权限,请联系管理员。