使用git log时如何隐藏JIRA智能提交信息中的指定内容?
用git log过滤JIRA智能提交的冗余内容
当然可以实现,你只需要结合git log的自定义格式化和文本替换工具(比如sed),就能把提交信息里的冗余部分去掉,同时保留JIRA需要的内容(比如工单编号、#time标记)。
具体命令示例
基础版(只显示短哈希和过滤后的提交信息)
git log --pretty=format:"%h %s" | sed -e 's/#comment {panel:bgColor=#eae6ff}\*Git Commit Message\*//g' -e 's/{panel}//g'
这个命令会先让git log输出短提交哈希和原始提交信息,再通过sed把两段冗余文本批量替换为空。
增强版(显示作者、日期和过滤后的信息)
如果需要更完整的提交上下文,可以调整git log的输出格式:
git log --pretty=format:"%h %an %ad %s" --date=short | sed -e 's/#comment {panel:bgColor=#eae6ff}\*Git Commit Message\*//g' -e 's/{panel}//g'
其中:
%h:短提交哈希%an:提交作者名%ad:提交日期(--date=short让日期显示为YYYY-MM-DD格式)%s:提交信息
适配变体格式
如果你的panel背景色不固定(比如有不同的bgColor值),可以修改sed的正则来匹配任意panel开头:
git log --pretty=format:"%h %s" | sed -e 's/#comment {panel:bgColor=[^}]*}\*Git Commit Message\*//g' -e 's/{panel}//g'
这里[^}]*会匹配bgColor=后面到}之前的任意内容,不管背景色是什么都能过滤。
做成git别名更方便
不想每次都敲长命令的话,可以给这个操作加个git别名:
打开你的.gitconfig文件(通常在用户主目录下),添加以下内容:
[alias] log-jira = !git log --pretty=format:"%h %an %ad %s" --date=short | sed -e 's/#comment {panel:bgColor=[^}]*}\*Git Commit Message\*//g' -e 's/{panel}//g'
之后直接输入git log-jira就能快速查看过滤后的提交记录了。
内容的提问来源于stack exchange,提问作者LBPLC
相关产品推荐
相关产品推荐

