误删并重建Git分支后,如何找回原分支?
找回误删Git分支的原reflog方法
你误删原branch1并新建同名分支强推后,可通过以下方式尝试获取原branch1的reflog:
检查本地Git日志文件
Git的分支日志会存在仓库的.git/logs/refs/heads/目录下,即便分支被删除,只要未触发Git垃圾回收,对应日志文件可能仍保留。执行以下命令查看:cat .git/logs/refs/heads/branch1如果文件存在,里面就是原
branch1的完整操作日志。查找未被引用的提交对象
执行Git文件系统检查命令,会把所有无引用的提交、树对象等放到.git/lost-found/目录:git fsck --lost-found进入
.git/lost-found/commits/目录,用git show <提交哈希>逐个查看提交内容,匹配原branch1的提交后,就能还原对应的操作轨迹。检查远程仓库痕迹(若未完全覆盖)
如果远程仓库的原branch1提交未被彻底清理,可尝试查看远程分支的reflog:git reflog show origin/branch1注意:若已通过
git push --force完全覆盖远程分支,此方法大概率无效。利用备份文件
你手中的硬拷贝备份里,.git/logs/refs/heads/branch1文件就是原branch1的reflog,直接查看该文件即可获取完整日志,也可将其复制到当前仓库的对应目录下恢复日志。
内容的提问来源于stack exchange,提问作者Akasha
相关产品推荐
相关产品推荐

