如何恢复还原提交的 SHA?

How do I recover the SHA of a reverted commit?

假设我有一个还原 "Revert "Commit B"",有没有办法获得 "Commit B" 的 SHA-1?

我希望是否有可能像在合并中一样获得任何还原提交的 SHA-1。由于合并提交的父项是 booth 两个合并提交的 SHA-1。

git revert 命令是为方便起见而提供的功能。它找出目标提交更改的内容,反向应用它并创建一个新的提交。与任何其他常规提交相比,新提交在技术上对 Git 来说并不特殊,尽管它的更改与还原的提交完全相反。

尽管如此,如果您直接使用 git revert <commit>,自动生成的提交消息 确实 包含源提交的 SHA,例如:

commit fdcfd9f4c59a686651b7935c188917099f653e16
Author: iBug <redacted>
Date:   Thu Dec 5 09:31:53 2019 +0000

    Revert "Limit landing screen height"

    This reverts commit 444e34cceffec12716af61dd94d0ca62a35e2564.

但是,如果您编辑了提交消息并从中删除了 SHA,那么您可能不走运,必须另辟蹊径。