有没有办法将远程分支指针重置为您知道在远程 reflog 中但在本地存储库中没有的 SHA?
我非常熟悉重置(软/混合/硬)在本地存储库上的工作方式,但这对我没有帮助。
这是我要解决的情况。我已经有一段时间没有进行 fetch 了,远程 master 已经更新了一个我在本地还没有的合并。
我搞砸了,git push --force
只更新了远程功能分支,但忘记了一个参数,最终强制功能分支和主控到我在本地的修订。
这意味着 master 现在缺少自我上次获取以来发生的合并提交。我们使用的是 github,所以我收到了一封电子邮件,告诉我 master 之前所在的 SHA。我还能够访问 url 并看到提交仍然存在(尚未收集垃圾)。
我能够通过重做我丢失的合并并再次将其推出来“修复”它(最终改变了 SHA,因为它是不同的提交者和时间)。这不是最优的,如果我在 master 上丢失了多个合并提交,情况可能会更糟。
我想做的只是reset --hard
它应该位于的 SHA 的远程 master 分支。如果没有对 repo 的 SSH 访问权限,有什么方法可以做到这一点?
这是在 github 上,所以我没有直接访问 repo 的权限,无法直接 ssh 并重置它。