我们如何知道 Git 中哪个分支较新?
How can we tell which branch is newer in Git?
我有两个分支:origin/A
和 A
(本地)。
假设一个——而且只有一个——已经推进了一次提交,但我不知道哪个分支提前了,我如何判断哪个分支有额外的提交?
使用 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
是一个额外提交的分支。
如果一对命令都没有匹配的输出,那么您没有一个分支比另一个分支早一个提交。
我有两个分支:origin/A
和 A
(本地)。
假设一个——而且只有一个——已经推进了一次提交,但我不知道哪个分支提前了,我如何判断哪个分支有额外的提交?
使用 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
是一个额外提交的分支。
如果一对命令都没有匹配的输出,那么您没有一个分支比另一个分支早一个提交。