Git log rev range master 在 master 和 branch 之间给出不同的结果
Git log rev range master gives different results between master and branch
我正在发布 b运行ch,我在其中应用来自 master(主要开发)的精心挑选的提交。
我想检查是否已经复制了一些旧的提交,所以我开始使用 git log
和 grep
来查找提交哈希之一。
当在 b运行ch 上时,我通常比较关于 master 的最新提交与:
git log --oneline -20
和
git log --oneline -20 master
但是现在我想检查 运行ge 的提交,经过一些试验和错误我最终使用:
git log --oneline <myhash>~..HEAD master
其中,当检出 master 时,会给出预期的结果 - 从 <myhash>
(含)到最新的 master.
如果 运行 当我在不同的 b运行ch 上时,相同的命令会产生不同的结果(实际上它似乎给出了 b[ 开头的所有提交=37=]ch up to the latest): 为什么?
如果您想查看从特定的其他提交开始的分支上的所有提交,请使用以下命令:
git log --oneline start..branch
其中 start
是开始提交,branch
是最终提交。 Git 将显示所有可从 branch
访问的提交并排除可从 start
访问的提交(通过以下方式实现相同的行为:git log ^start branch
,即 "not start" 和 "branch")
当您执行 start..HEAD master
时,您将获得开始和当前 commit/branch 之间的所有提交 AND 所有可从 master
访问的提交。在这种情况下,您实际上指定了 3 个提交:^start
、HEAD
和 master
。 Git 然后将遍历图表以提供结果:所有可从 HEAD
到达的提交(当前 commit/branch),所有可从 master
到达的提交,但排除所有可到达的提交来自 start
我正在发布 b运行ch,我在其中应用来自 master(主要开发)的精心挑选的提交。
我想检查是否已经复制了一些旧的提交,所以我开始使用 git log
和 grep
来查找提交哈希之一。
当在 b运行ch 上时,我通常比较关于 master 的最新提交与:
git log --oneline -20
和
git log --oneline -20 master
但是现在我想检查 运行ge 的提交,经过一些试验和错误我最终使用:
git log --oneline <myhash>~..HEAD master
其中,当检出 master 时,会给出预期的结果 - 从 <myhash>
(含)到最新的 master.
如果 运行 当我在不同的 b运行ch 上时,相同的命令会产生不同的结果(实际上它似乎给出了 b[ 开头的所有提交=37=]ch up to the latest): 为什么?
如果您想查看从特定的其他提交开始的分支上的所有提交,请使用以下命令:
git log --oneline start..branch
其中 start
是开始提交,branch
是最终提交。 Git 将显示所有可从 branch
访问的提交并排除可从 start
访问的提交(通过以下方式实现相同的行为:git log ^start branch
,即 "not start" 和 "branch")
当您执行 start..HEAD master
时,您将获得开始和当前 commit/branch 之间的所有提交 AND 所有可从 master
访问的提交。在这种情况下,您实际上指定了 3 个提交:^start
、HEAD
和 master
。 Git 然后将遍历图表以提供结果:所有可从 HEAD
到达的提交(当前 commit/branch),所有可从 master
到达的提交,但排除所有可到达的提交来自 start