删除 GitHub 远程仓库中 master 分支的多个提交

一、本地切换到master分支

git checkout master

二、新建old_master分支备份,以防万一

git branch old_master 
git push origin old_master:old_master 将本地old_master分支推送到远程old_master
打开github repo,查看old_master是否和master一致。

三、删除远程master分支

设置github中默认分支为非master分支,否则,下一步删除操作被github禁止,github不能删除默认分支
删除远程的master分支 (注意master前有个:)
git push origin :master

四、版本回退并重新创建远程master分支

本地仓库彻底回退到某一个版本
git reset --hard commit_sha(for example: a10801cc21c2dd4e6fb2d1fdcd6e1ac4fbbfebcf) 
git push origin master

五、通知项目组同事本地master同步远程master分支

git reset --hard origin/master




original link:https://ruby-china.org/topics/26320


其他方案:

1. 直接 reset 到某一个版本的分支,然后 git push origin +master 强制提交 master 分支就好了,前提是你备份好本地的 master 分支。


2. 还原到某个commit,然后强推即可

git reset commit_id --hard
git push origin HEAD --force

强推前,用记下远程分支的commit_id即可








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值