这是我们作为一个团队正在努力的回购:https://github.com/hmcts/prd-pui-manager/pulls?q=is%3Apr+is%3Aclosed
我们很难理解为什么当我们拉下master时,我们在提交日志中看不到PR 45,46。 https://github.com/hmcts/prd-pui-manager/pull/45 https://github.com/hmcts/prd-pui-manager/pull/46
我跑了:git reflog
,看看是否有任何推力,但没有显示任何东西。
PR 48:https://github.com/hmcts/prd-pui-manager/pull/48删除PR 45,46,如果是的话怎么样?
有没有办法调试强制推送到掌握?
我希望我可以得到这方面的帮助,因为蜜蜂需要一段时间才能理解如何调试这些流程。我已按照以下步骤尝试调试:
当PR 48合并时,它还有PR 45更改以返回丢失的代码,但我想弄清楚我们是如何丢失两个PR的
GitHub审计跟踪
GitHub有一个审核日志来解决这些问题:
文档:https://developer.github.com/v3/activity/events/
在你的情况下,分析https://api.github.com/users/hmcts/events可能会揭示你在寻找什么。我在PushEvent
和refs/heads/master
浏览了PullRequestEvents
。我没有找到你的具体答案,但通过一些挖掘你可能能够弄明白。
丢失提交
要回答问题的其他部分,强制推送是我知道丢失提交的唯一方法。
要解决此问题,您仍然拥有分支,因此您可以将它们合并到master中以获取更改。
对于未来,我建议执行以下内容:
此外,如果您不再拥有分支,您可以查看开发人员的计算机,比较日志和reflog,并从不同的地方重建您的分支(例如,dev 1将在他的reflog中包含旧版本,所以你可以拉出当前的主机,并合并这个旧版本,已经删除,dev 2将有强制推送版本,依此类推)。这是一项繁琐的任务,但这是恢复丢失数据的最佳方法。