Git删除远程分支上的某次提交

起因:

手欠没注意错误地提交到远程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分支:

1
git branch new_master

切换到new_master分支:

1
git checkout new_master

push master分支的代码到本new_master分支上:

1
git push origin master

获取提交记录并回退到指定某支正确的分支:

1
2
git log 复制某支正确的分支commitID
git reset --hard 历史版本commitID

提交new_master分支到远程仓库:

1
git push origin new_master

!!!(有注意点,看底部)删除master分支:

1
git push origin :master

重新创建master分支并进行pull操作拉取new_master的代码:

1
git pull origin new_master

注意事项:

如果没法正常删除master分支,可以先到远程仓库(github/gitlab)上查看当前的默认分支是不是master,如果是则切换new_master为默认分支再进行删除操作即可!

坚持原创技术分享,您的支持将鼓励我继续创作!
0%