You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何恢复被他人删除提交历史的Git master分支?

解决远程Master分支被误覆盖,替换为Other_Branch的方案

核心思路

由于当前远程master与other_branch的提交历史完全独立,无法通过常规合并/PR操作同步,最直接的方案是让master分支直接继承other_branch的完整提交历史,覆盖掉现有问题提交。

前提确认

  • 确保other_branch包含所有需要保留的代码与提交记录,无任何问题
  • 通知团队成员暂停对远程master的所有操作,避免冲突

命令行操作(最可靠)

  1. 拉取远程仓库最新分支数据:
git fetch origin
  1. 切换到本地master分支:
git checkout master
  1. 将本地master强制重置为远程other_branch的最新状态(完全继承其提交历史):
git reset --hard origin/other_branch
  1. 强制推送到远程master(因历史不兼容,必须用强制推送覆盖):
git push origin master --force

注意:--force会彻底覆盖远程master的现有内容,确认无误后再执行。


GitHub网页端操作(无需命令行)

如果不熟悉命令行,可直接在GitHub网页完成:

  1. 打开仓库的「Branches」页面,找到other_branch,点击其提交记录,复制最新提交的SHA哈希值
  2. 进入仓库「Settings」→「Branches」,找到master分支,点击右侧「Edit」按钮
  3. 在「Target」输入框粘贴刚才复制的SHA值,点击「Update branch」
  4. (可选)如果之前master有分支保护规则,操作前需临时关闭,完成后可重新开启

团队后续同步操作

所有团队成员需同步本地master分支,避免后续冲突:

git checkout master
git fetch origin
git reset --hard origin/master

内容的提问来源于stack exchange,提问作者MattyBRappps

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:02:19