昨天有个实习生给master强推了。在我们完成责骂之后,;) 我们查看了结果。幸运的是,我们在一台机器上拥有几乎最新版本的 master,只有一些拉取请求需要再次合并。
但有一件事困扰着我:我们在最后一个合并的拉取请求中找到了旧的 HEAD 提交(在 github 上),但是由于没有分支或标签再指向它,我们找不到任何方法来拉取那个提交(git pull origin <SHA1>
没有工作)或为该提交设置远程分支。你有什么办法做到这一点吗?
昨天有个实习生给master强推了。在我们完成责骂之后,;) 我们查看了结果。幸运的是,我们在一台机器上拥有几乎最新版本的 master,只有一些拉取请求需要再次合并。
但有一件事困扰着我:我们在最后一个合并的拉取请求中找到了旧的 HEAD 提交(在 github 上),但是由于没有分支或标签再指向它,我们找不到任何方法来拉取那个提交(git pull origin <SHA1>
没有工作)或为该提交设置远程分支。你有什么办法做到这一点吗?
从您的评论中假设您使用GitHub
.
您应该要求技术支持检查您项目GitHub
的 reflog 。GitHub
如果不到 30 天过去了,您的 reflog 仍将包含您正在寻找的提交。如果您知道,只需将哈希传递给他们。要求他们将 HEAD 重置到此提交中。
这些链接应该很有用:
http://sitaramc.github.com/concepts/reflog.html
PS如果他们给您提示如何自己做 - 请在此处发布作为答案。
补充:这是关于这个主题的重要链接:https ://help.github.com/articles/commit-exists-on-github-but-not-in-my-local-clone
如果您可以在 GitHub 上看到提交,例如在https://github.com/[org]/[repo]/commit/[sha]但它是孤立的,当您克隆/获取 repo 时 GitHub 不会包含它.
但是,如果您将 URL 稍微更改为https://github.com/[org]/[repo]/tree/[sha],则可以使用分支下拉菜单在该提交处创建一个分支: