如何查询指定Git提交上方10个提交至该提交的记录?
Git提交记录范围查询的可行方法
如果你需要获取指定提交之后紧接着的10条更新提交,或者以指定提交为终点、从它的第10个关联提交开始的记录,以下是几种可行命令:
获取指定提交之后的10条最新提交
默认按从新到旧顺序显示:
git log -10 <mycommitid>..HEAD
如果需要按时间从早到晚(即该提交之后的第1到第10个提交)显示,添加--reverse参数:
git log --reverse -10 <mycommitid>..HEAD
获取从指定提交的第10个祖先提交到该提交的记录
若你实际需要的是从比指定提交旧10个的提交开始,到指定提交结束的记录(对应你描述的“上方第10个提交开始到指定提交结束”可能的方向偏差),使用波浪号语法:
git log <mycommitid>~10..<mycommitid>
~10表示指定提交的第10代祖先,无合并提交的情况下,该范围会包含这中间的10条提交记录。
用rev-list定位后显示
也可以先通过git rev-list筛选出目标提交,再传给git log显示详情:
git log $(git rev-list --reverse <mycommitid>..HEAD | head -10)
这个命令会先反转mycommitid之后的提交列表,取最早的10个,再显示它们的提交详情。
内容的提问来源于stack exchange,提问作者MeBigFatGuy
相关产品推荐
相关产品推荐

