如何让git log以git show-branch的格式显示提交引用?
让git log显示HEAD~n格式的提交引用
当然可以,你可以通过shell命令组合实现这个需求,不用复制粘贴SHA值就能得到类似HEAD~n的格式输出。
直接运行下面的命令即可:
git log --oneline | awk '{print "* [HEAD~" NR-1 "] " substr($0, index($0,$2))}'
简单解释下:
git log --oneline输出简洁的提交记录(SHA前缀加提交信息)awk负责处理每行内容:NR-1对应提交的相对位置,最近的提交是HEAD~0,上一个是HEAD~1,以此类推substr($0, index($0,$2))提取从第二个字段开始的提交信息,避免带上SHA前缀
如果想调整计数起始点或者格式,修改awk里的逻辑就行。比如要像你给的show-branch示例那样从HEAD~7开始显示,只需要调整NR的计算方式。
你也可以把这个命令做成Git别名,方便后续使用:
git config --global alias.log-rel '!git log --oneline | awk '\''{print "* [HEAD~" NR-1 "] " substr($0, index($0,$2))}'\'''
之后直接敲git log-rel就能得到想要的格式了。
内容的提问来源于stack exchange,提问作者Lawrence D'Anna
相关产品推荐
相关产品推荐

