1

昨天有个实习生给master强推了。在我们完成责骂之后,;) 我们查看了结果。幸运的是,我们在一台机器上拥有几乎最新版本的 master,只有一些拉取请求需要再次合并。

但有一件事困扰着我:我们在最后一个合并的拉取请求中找到了旧的 HEAD 提交(在 github 上),但是由于没有分支或标签再指向它,我们找不到任何方法来拉取那个提交(git pull origin <SHA1>没有工作)或为该提交设置远程分支。你有什么办法做到这一点吗?

4

2 回答 2

2

从您的评论中假设您使用GitHub.

您应该要求技术支持检查您项目GitHub的 reflog 。GitHub如果不到 30 天过去了,您的 reflog 仍将包含您正在寻找的提交。如果您知道,只需将哈希传递给他们。要求他们将 HEAD 重置到此提交中。

这些链接应该很有用:

http://sitaramc.github.com/concepts/reflog.html

https://github.com/contact

PS如果他们给您提示如何自己做 - 请在此处发布作为答案。

补充:这是关于这个主题的重要链接:https ://help.github.com/articles/commit-exists-on-github-but-not-in-my-local-clone

于 2012-10-17T13:38:02.280 回答
0

如果您可以在 GitHub 上看到提交,例如在https://github.com/[org]/[repo]/commit/[sha]但它是孤立的,当您克隆/获取 repo 时 GitHub 不会包含它.

但是,如果您将 URL 稍微更改为https://github.com/[org]/[repo]/tree/[sha],则可以使用分支下拉菜单在该提交处创建一个分支:

恢复丢失的提交

于 2017-06-06T17:11:41.763 回答