You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git日志无法在指定提交哈希终止,如何获取两提交间的提交哈希?

Git Log 无法在指定提交处终止的解决方案

问题根源

你在命令里同时指定了分支feature/Collaudo和提交范围,Git会优先遍历该分支的完整提交历史,提交范围的限制被忽略了,这就是日志停不下来的原因。

修正后的命令

要获取hash1到hash2之间(含两端)的所有合并提交哈希,直接使用提交范围即可,无需额外指定分支:

git log --merges --oneline --pretty=tformat:"%H" hash1^..hash2
  • 若不需要包含hash1,去掉^用hash1..hash2(左开右闭范围)
  • 另一种等价写法是hash1 hash2^!,明确表示从hash1开始到hash2结束的所有提交

验证步骤

如果不确定范围是否正确,可以先简化命令测试:

git log --oneline hash1..hash2

确认输出的提交范围符合预期后,再添加--merges和格式化参数。

关于--no-walk的说明

--no-walk仅用于查看单个提交(比如git log --no-walk hash2),不适合范围查询,所以之前添加这个参数无效是正常的。

内容的提问来源于stack exchange,提问作者Gennaro Cirillo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:30:52