如何从Github(Enterprise)下载我本地没有的提交?

che*_*tts 9 git github

我不小心做了push --force错误的回购(太多的termminals打开),有效地将master分支重新设置回早期的提交.

看看我的构建系统,我可以看到提交用于指向XYZ,但是我没有本地提交,因为我最近没有进行过pull或fetch.回购在Github,我可以在Github中导航查看提交,所以我知道它在那里.

我怎样才能下拉提交,这样我就可以重新设置master回正确的提交而不必打扰推动该更改的开发人员?

小智 22

您可以通过执行以下操作从Github GUI中的孤立提交创建分支:

  1. 浏览到https://github.com/yourOrg/yourRepo/tree/ commitHash
  2. 单击分支下拉列表
  3. 输入新的分支名称,然后按Enter键

既然你有一个分支,你可以使用你的Git客户端正常检查它.

Github创建分支下拉列表

笔记

这篇文章很有帮助,因为我研究了这个.除非你有一个包含孤立提交的本地存储库,否则它基本上表明你被卡住了.我的方法允许您添加分支,以便提交不再孤立.

  • 我编写了一个脚本(https://github.com/cryslith/git-recover-commit),它使用纯 Git 协议执行相同的操作,而不使用 GitHub 的 UI。 (2认同)