git删除远程仓库的某次错误提交

本文详细介绍了如何使用Git命令修复不小心将分支合并到master的情况,包括创建备份分支、回退版本、删除和重建远程分支等步骤。通过遵循指南,用户可以避免数据丢失并恢复项目的正确状态。

改日写git的各种本地恢复

今天不小心把一个分支合并到master上了,上网查了一下回复的方法,简单来说就是:

在本地 把远程的master分支删除
再把reset后的分支内容给push上去

新建old_master分支 作为备份,以防万一
git branch old_master


将本地的old_master分支 推送到远程的old_master
git push origin old_master:old_master


本地仓库 彻底回退到某一个版本
git reset –hard


删除远程的master分支 (注意master前有个:)
git push origin :master


重新创建远程master分支(这跟我们第1次提交本地代码库给远程仓库的命令一样吧)
git push origin master

以上.

当然因为我是没有管理员权限的,所以在建立old_master之后需要管理员帮助,切换默认分支为old_master,然后删掉master,本地恢复master,用git reset --hard 版本号即可.

然后git push上远程.管理员帮助切换默认分支为master.删掉old_master即可.

 

 

 

 

 

附:参考链接

转载于:https://www.cnblogs.com/feixiao5566/p/5114098.html

<think>好的,我需要帮助用户删除远程仓库中的某个提交记录。首先,用户的问题是关于如何通过git remote来删除远程提交记录的。不过根据我了解的Git知识,git remote本身并不直接处理提交记录的删除,它主要是管理远程仓库的URL。因此,可能需要引导用户使用其他Git命令。 我需要回顾一下提供的引用内容。引用[2]提到使用Git删除远程某个历史提交记录,并给出了步骤,包括使用git rebase -i来交互式变基,删除特定提交,然后强制推送。引用[4]也提到了类似的步骤,包括变基和强制推送。这说明正确的方法应该是通过修改本地历史然后强制推送到远程仓库,而不是直接使用git remote。 不过用户特别提到想通过git remote来操作,可能用户对git remote的功能有误解。因此,在回答中需要澄清git remote的作用,并指出正确的方法。同时,结合引用中的方法,如方法二提到用git remote rm和add来更改远程仓库URL,但这可能不适用于删除提交记录,而是更换远程仓库地址。 因此,正确的步骤应该是:首先在本地使用rebase删除提交,然后强制推送(git push --force)。这涉及到修改本地历史记录,然后覆盖远程仓库的历史。同时,需要提醒用户强制推送的风险,因为它会覆盖远程历史,可能影响其他协作者。 另外,用户可能需要了解如何修改远程仓库的URL,但这是另一个问题。需要确保回答准确区分不同的操作,避免混淆。总结来说,回答需要分步骤说明正确的方法,纠正用户对git remote的误解,并引用相关的参考资料来支持步骤的正确性。</think>要删除远程仓库中的特定提交记录,需通过修改本地提交历史后强制推送实现。**注意:此操作会重写历史记录,影响所有协作者,需谨慎操作。** ### 操作步骤 1. **定位目标提交** ```bash git log --oneline # 查看提交记录,复制目标提交的哈希值(如abc123) ``` 2. **交互式变基删除提交** ```bash git rebase -i abc123^ # ^表示目标提交的前一个提交 ``` 在编辑界面中删除目标提交所在行,保存退出[^2][^4]。 3. **强制推送到远程仓库** ```bash git push --force origin <分支名> # 强制覆盖远程分支历史 ``` ### 关键注意事项 1. **强制推送风险** 强制推送会覆盖远程仓库历史,若其他成员已基于旧历史开发,会导致代码混乱。需提前团队协调。 2. **替代方案:还原提交** 若需保留历史记录但撤销某次提交的更改: ```bash git revert abc123 # 生成反向补丁提交 git push origin <分支名> ``` ### 补充说明 - `git remote` 命令仅用于管理远程仓库地址(如方法二删除/添加远程仓库[^1][^3]),无法直接操作提交记录。 - 若远程仓库地址错误需修正,可执行: ```bash git remote rm origin git remote add origin <新仓库URL> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值