【问题标题】:Recover git commit that was never local恢复从来不是本地的 git commit
【发布时间】:2018-06-21 19:40:19
【问题描述】:

我正在处理本地/功能,创建远程/功能并将我的工作推到那里。

一位同事被推送到远程/功能。

我注意到本地/功能有一个错误,不想在我的功能分支上创建不必要的提交,所以我修改了提交以纠正错误,并使用 git push --force 覆盖远程/功能。

我有我同事提交的哈希值,有什么办法可以恢复它吗? Git 无法在本地识别哈希。

【问题讨论】:

  • 最简单的解决方案可能是让您的同事重新推送他们仍然应该在他们的机器上进行的更改。除非您知道这样做是安全的,否则以后不要强行推动..
  • 你可以访问远程仓库吗?
  • @chevybow 同事当时不在。是的,我应该在强制推送之前检查一下。
  • @melpomene 我确实可以访问远程仓库。
  • 如果您使用的是 GitHub,也许这会有所帮助...stackoverflow.com/a/35273807/5182932

标签: git


【解决方案1】:

我同意所有的 cmets。

至于手头的问题,如果您着急,请重新创建提交并将--author="That Guy" 添加到git commit 以纪念作者。

还要尽快警告你的同事,这样他们就知道发生了什么,不要花时间解决不存在的问题。

【讨论】:

    【解决方案2】:

    试试@sp0gg 在评论中建议的recover from githubs-reflog 这个选项

    永远不要用户 --force 使用 --force-with-lease 代替。 它确保您不会覆盖其他人的工作。

    参考:https://developer.atlassian.com/blog/2015/04/force-with-lease/

    【讨论】:

      猜你喜欢
      • 2011-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-11
      • 2019-10-19
      相关资源
      最近更新 更多