尝试从所选提交仅获得一个结果返回相同的输出,而不管输出顺序如何。
列表总长度为130个提交
结果相同,但列表不同
显示结果减少:
$ git rev-list --reverse origin/a..origin/b -10
c4fe26e8ebc8a2ceb0129a6f7318b08d18126baa
fd302babdae3338a2d780b529ec8499867d1c330
d24b219372ff87ada2c196857f47f7a9c61f1fad
1eaf20b79e69ae4d729a2679bdc40f6b2d22958f
6a76950fd9eee705ed813aec0c44ac58ff3a030c
058e793dbcd507861880b21aacf2dd07d2b079ff
f8bb9225c4101bf1340e35abd609e526d2bde2c1
a01e72042582337ff74f64caa0e5a25ceeba6c8d
bc88772e4cb3be926639da6d71a57aaef507cbf0
315f11516b98454cb8732ac57b9cc53dff9460b5
$ git rev-list origin/a..origin/b -10
315f11516b98454cb8732ac57b9cc53dff9460b5
bc88772e4cb3be926639da6d71a57aaef507cbf0
a01e72042582337ff74f64caa0e5a25ceeba6c8d
f8bb9225c4101bf1340e35abd609e526d2bde2c1
058e793dbcd507861880b21aacf2dd07d2b079ff
6a76950fd9eee705ed813aec0c44ac58ff3a030c
1eaf20b79e69ae4d729a2679bdc40f6b2d22958f
d24b219372ff87ada2c196857f47f7a9c61f1fad
fd302babdae3338a2d780b529ec8499867d1c330
c4fe26e8ebc8a2ceb0129a6f7318b08d18126baa
$ git rev-list --max-count=1 origin/a..origin/b
315f11516b98454cb8732ac57b9cc53dff9460b5
$ git rev-list --reverse --max-count=1 origin/a..origin/b
315f11516b98454cb8732ac57b9cc53dff9460b5
列出从给定的提交通过父链接可到达的提交,但不包括从前面有^的提交可到达的提交。默认情况下,输出按时间倒序排列。
我使用的命令
git rev-list --max-count=1 $TARGET_BRANCH..$BASE_BRANCH
来自文件
请注意,这些选项在提交顺序和格式选项(如--reverse)之前应用。
- -n --max-count=限制要输出的提交数。
使用以下git版本
git版本2.39.0.windows.1
2条答案
按热度按时间fdbelqdn1#
引用的文档部分解释了
是:
1.以常规方式收集
$TARGET_BRANCH..$BASE_BRANCH
范围内的提交。1.在第一个条目(
--max-count=1
)之后截断收集列表。1.以相反顺序列出剩余的提交(
--reverse
)。当然,如果列表只有一个条目,则无论是正向打印还是反向打印,打印结果看起来都是一样的。
b1uwtaje2#
正如您链接的文档所述,
git rev-list
的--max-count
应用得非常早,* 早于 *--reverse
。要获得您所要求的效果,请使用现有工具。
git rev-list origin/a..origin/b | tail -1
获取最后一个条目。