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

如何在git log -G foo输出中显示包含对应提交的分支

如何让git log -G foo输出包含提交所属分支?

你可以通过自定义git log的输出格式,结合子命令获取每个提交对应的分支列表,直接生成符合需求的输出。

直接可用的命令

git log -G foo --pretty='format:commit %H%nAuthor: %an <%ae>%nDate:   %ad%nBranches: %(git branch --contains %H --no-color | sed "s/* //")%n%n    %s%n' --date=format:'%a %b %d %H:%M:%S %Y %z'

命令说明

  • --pretty='format:...':完全自定义log的输出结构,和你期望的格式一一对应
  • %H:输出提交的完整哈希值
  • %an/%ae:分别输出作者姓名和邮箱,和默认log格式一致
  • --date=format:'...':指定日期显示格式,和你给出的示例完全匹配
  • %(git branch --contains %H --no-color | sed "s/* //"):这部分是核心——调用git branch --contains %H获取所有包含当前提交的分支,--no-color避免输出颜色控制字符,再用sed去掉当前分支前的*标记,最终得到干净的分支列表

可选调整

  • 只显示本地分支:在git branch后加--no-remotes参数,变成git branch --no-remotes --contains %H --no-color
  • 包含远程分支:改用git branch -a --contains %H --no-color | sed "s/* //" | grep -v HEAD,过滤掉HEAD和origin/HEAD这类无意义的条目

执行这个命令后,输出就会和你给出的期望示例一致,每个提交下都会显示包含它的所有分支。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 23:54:32