起因:
手欠没注意错误地提交到远程master分支上
目的:
正确回退到错误提交前的master分支上
解决思路分析:
- 1.为了保障不会因为二次错误导致master分支更加混乱,为此新建多一个new_master分支。
- 2.
push
master分支的代码到new_master分支上。- 3.new_master分支上回退到指定某支正确的分支。
- 4.把new_master分支提交到远程仓库上。
- 5.删除master分支。
- 6.重新创建master分支并
pull
new_master分支的代码到本master分支上。
操作步骤:
在master分支上输入命令,创建new_master分支:
1git branch new_master
切换到new_master分支:
1git checkout new_master
push master分支的代码到本new_master分支上:
1git push origin master
获取提交记录并回退到指定某支正确的分支:
1
2git log 复制某支正确的分支commitID git reset --hard 历史版本commitID
提交new_master分支到远程仓库:
1git push origin new_master
!!!(有注意点,看底部)删除master分支:
1git push origin :master
重新创建master分支并进行pull操作拉取new_master的代码:
1git pull origin new_master
注意事项:
如果没法正常删除master分支,可以先到远程仓库(github/gitlab)上查看当前的默认分支是不是master,如果是则切换new_master为默认分支再进行删除操作即可!