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

如何查找最新的Git squash合并提交?

查找Git中的Squash提交

查找最新的Squash提交

通过git merge --squash创建的提交本质是普通的非合并提交,它没有Git内置的特殊标记,主要通过以下两种方式定位:

  1. 通过提交信息关键词筛选
    如果你的squash提交保留了默认提交信息(通常包含"squash"或"Squash commit"字样),直接用git log的关键词匹配功能即可:

    git log --grep="squash" --oneline
    

    输出结果最顶部的就是最新的squash提交。如果自定义了提交信息,替换关键词为你当时写的标识(比如合并的分支名)即可。

  2. 结合分支历史定位
    若不记得提交信息关键词,可以结合被合并分支的历史查找。假设你是把feature-branch squash合并到main分支:

    • 先找到feature-branch的根提交(分支创建时的起点):
      git merge-base main feature-branch
      
    • 再在main分支中查找包含该根提交之后所有变更的提交,这就是目标squash提交:
      git log main --not $(git merge-base main feature-branch) --oneline
      
      输出里的第一个提交通常就是最新的squash合并结果。

查找倒数第二个合并/Squash提交

如果已经能列出所有目标提交,只需调整git log的输出数量即可。比如用-2参数输出最近的2个,取第二个就是倒数目标:

git log --grep="squash" --oneline -2

针对普通合并提交(带两个父节点的),可以用--merges参数单独筛选:

git log --merges --oneline -2

内容的提问来源于stack exchange,提问作者Klas Mellbourn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 18:15:43