如何获取分支的基础提交的 SHA?

How to get the SHA of the base commit a branch is started from?

C    E
|   /
B  D
| /
A

如果 E 是当前 HEAD,如何获取提交 A 的 SHA?

您可以看到git log [options]并找到特定分支的开始提交。

$ git log --oneline --decorate --all --graph

如果找到分支C和E的共同祖先是你需要的,那么:

git merge-base <hash of commit C> <hash of commit E>

当尝试获取当前分支的基本提交的 SHA 时,这很有用:

git merge-base --fork-point <main branch>