同名仓库重建后丢失的Git提交是否可恢复?如何恢复?
同名仓库重建后丢失提交的恢复方案
恢复可能性说明
丢失的16条提交可恢复概率较高,具体操作根据你是否保留原仓库本地副本分为两类:
场景1:本地保留有原仓库的完整克隆副本
该场景恢复成本最低,操作步骤如下:
- 进入本地原仓库文件夹,打开Git Bash/终端工具
- 执行
git log --oneline核对本地提交总条数,确认37条提交完整存在 - 执行命令绑定新的同名仓库地址:
git remote set-url origin <你的新仓库HTTPS/SSH地址> - 强制推送所有分支的全部提交到新仓库:
git push --force --all origin - 若需要同步原仓库的标签记录,额外执行:
git push --tags origin
推送完成后刷新仓库页面即可看到完整的37条提交记录。
注意:如果新仓库创建后你有新增提交,强制推送会覆盖新仓库当前的所有内容,操作前建议先把新仓库现有内容备份到其他文件夹避免丢失。
场景2:本地无原仓库任何副本
该场景下是否可恢复取决于原仓库的删除时长:
- 若原仓库删除距离现在不足90天,且你是仓库所有者,可直接联系GitHub官方支持申请恢复已删除的旧仓库。旧仓库恢复后,先克隆旧仓库到本地,再按照场景1的步骤推送到新同名仓库即可。
- 若原仓库删除已经超过90天,且没有任何协作成员保留原仓库的克隆副本,丢失的16条提交无法恢复。

内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

