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

PowerShell中如何从git log输出提取纯commit ID列表

PowerShell 提取Git纯Commit ID实现方法

最优方案:直接使用Git格式化输出(无需额外处理字符串)

不需要先输出带提交描述的日志再做裁剪,Git原生支持自定义日志输出字段,直接执行以下命令即可拿到纯commit ID列表:

# 输出纯commit ID
git log --pretty=format:"%H"

# 如果需要和示例一致的前导3空格缩进,执行这个
git log --pretty=format:"   %H"

参数说明:%H是Git log的格式化占位符,对应完整的40位commit哈希值,输出结果不会附带任何提交说明文本。


兼容方案:处理git log --pretty=oneline的已有输出

如果你必须基于oneline格式的输出做裁剪,PowerShell里可以用以下两种方式实现:

  • 按分隔符截取:因为oneline格式中commit ID和提交信息以空格分隔,且commit ID本身不含空格,直接取每行按空格分割的第一部分即可
    git log --pretty=oneline | ForEach-Object { "   " + $_.Split(' ')[0] }
    
  • 固定长度截取:Git SHA1格式的commit ID固定为40位十六进制字符,直接截取每行前40位即可,容错性更强
    git log --pretty=oneline | ForEach-Object { "   " + $_.Substring(0, 40) }
    

两种写法执行后输出结果完全匹配预期:

3396763626316124388f76be662bd941df591118
   c73bbc98b5f55e5a4dbfee8e0297e4e1652a0687

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 19:01:46