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

如何过滤git cherry输出,仅显示未被cherry-pick的提交?

提取git cherry输出中未被cherry-pick的提交(带+号的SHA)

没问题,你可以借助文本过滤工具快速实现这个需求,这里有几个实用的方案:

方案1:使用grep提取并格式化输出

直接通过grep匹配所有带+号的提交条目,再整理成一行输出:

git cherry main dev | grep -oE '\+ [0-9a-f]{40}' | tr '\n' ' ' && echo
  • -o参数让grep只输出匹配到的内容片段
  • -E启用扩展正则表达式,匹配+(需转义为\+)后接40位的Git提交SHA值
  • tr '\n' ' '把每行的结果合并成一行,&& echo最后添加换行符

方案2:使用awk更精准地定位

如果需要更灵活的文本处理,awk是更好的选择,它可以直接遍历输出中的每个字段,筛选出+号对应的SHA:

git cherry main dev | awk '{for(i=1;i<=NF;i++) if($i == "+") printf "%s %s ", $i, $(i+1)}' && echo
  • 遍历输出的每个字段,当遇到字段为+时,就输出+和它后面的SHA值
  • printf保证结果在同一行输出,最后用echo补全换行

执行任意一个命令后,就能得到你期望的输出:

+ d86f3e25f42b546af008b774c2649d585cc48310 + 4194aa6d206225242e881d2128e59981b8826eeb

内容的提问来源于stack exchange,提问作者Sazzad Hissain Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 17:44:11