我们如何知道 Git 中哪个分支较新?

How can we tell which branch is newer in Git?

我有两个分支:origin/AA(本地)。

假设一个——而且只有一个——已经推进了一次提交,但我不知道哪个分支提前了,我如何判断哪个分支有额外的提交?

使用 git fetch 从您的遥控器获取最新的提交,然后使用 git status 判断您的遥控器或本地是否领先。

如果 origin/A 领先,那么当您 运行 git status 时,您会被告知您当地的 A 分支 落后 起源于一次提交。

如果您的本地 A 领先,那么当您 运行 git status 时,您会被告知您的本地 A 分支是 origin 之前提交。

git rev-list HEAD --count 将为您提供当前分支上的提交数。假设您使用 github,您可以在 repo 的左侧看到提交数。

如果您的目标是将此作为自动化 bash 脚本的一部分执行,则可以使用 git rev-parse 命令。要查看给定分支的提交哈希,请使用此命令:

git rev-parse branchname

或者,要查看给定分支的先前提交的哈希值,请使用此命令:

git rev-parse branchname^

所以,如果你想看看哪个分支在前面,你可以运行下面四个命令并比较输出:

git rev-parse A
git rev-parse origin/A^

git rev-parse A^
git rev-parse origin/A

如果第一个和第二个命令的输出匹配,那么 A 是有一个额外提交的分支。如果第三个和第四个命令的输出匹配,那么 origin/A 是一个额外提交的分支。

如果一对命令都没有匹配的输出,那么您没有一个分支比另一个分支早一个提交。