如何使用 git log --graph 显示标签名称和分支名称

Posted

技术标签:

【中文标题】如何使用 git log --graph 显示标签名称和分支名称【英文标题】:How to display the tag name and branch name using git log --graph 【发布时间】:2011-08-11 08:25:08 【问题描述】:

我正在使用 gitk --all 查看 git 日志。 gitk 不显示每个提交的 sha 哈希值。您需要手动单击提交以查看 sha 哈希。我想在单个视图中查看 sha 哈希和分支名称。

如何使用 git log 命令显示标签名和分支名。

【问题讨论】:

注意:如果你需要那些分支名称没有括号,你现在有%D选项(而不是%d),Git 2.2(2014年11月) )。请参阅下面我编辑的答案。 【参考方案1】:

使用git log(所以,不是 gitk),您可以以漂亮的格式使用装饰选项(%d)来显示分支名称(但仅适用于作为所述分支的 HEAD 的提交):

alias.lgb=log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset%n' --abbrev-commit --date=relative --branches

(您必须声明该别名:

git config --global alias.lgb "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset%n' --abbrev-commit --date=relative --branches"

然后您可以将它与“git lgb”一起使用。注意:您可以使用不同的别名对其进行命名。 )

将给予:

* e33afe7 - (HEAD, master) fix zlib make install issue on cygwin (8 seconds ago) <VonC>
|
* f825f36 - add CPPFLAG option for cygwin compilation of gcc (26 hours ago) <VonC>
|
* 9341979 - (origin/master, origin/HEAD) update error messages for compiling gcc within cygwin (2 days ago) <VonC>
|
* 42d81af - copy dll in $H/usr/local/bin instead of linking when compiling in cygwin (3 days ago) <VonC>

更新 Git 2.2(2014 年 11 月):参见 commit 9271095 来自 Harry Jeffery (eXeC64):

pretty:添加%D格式说明符

添加一个新的格式说明符,“%D”,它的行为与“%d”相同,只是它不包含“(”前缀或“)”后缀987654340@'.

【讨论】:

我试过命令“git log alias.lgb=log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen (%cr) %C(bold blue)%Creset%n' --abbrev-commit --date=relative --branches" 给出错误 "fatal: ambiguous argument 'alias.lgb=log' : 未知的修订版或路径不在 w 使用 '--' 将路径与修订版分开” @Talespin:我添加了正确的 git config 命令来声明该 git 别名。另见***.com/questions/3666953/… 或jukie.net/bart/blog/pimping-out-git-log 谢谢!将此添加到我的点文件中! github.com/chrisjlee/dotfiles/blob/master/.gitconfig @chrisjlee 好主意 :) 我喜欢用一些 bash 别名来补充 git lg 命令:github.com/VonC/b2d/blob/… 这是我长期以来最喜欢的别名,我不能投票给它。我还创建了一个 lg 别名,当我只想查看当前分支时删除 --branches ... 以及带有 iso 日期而不是相对日期的 lgbd。请注意,为此我们需要将 %Cgreen(%cr) 更改为 %Cgreen(%cd),否则 --date 选项将被忽略。【参考方案2】:

我试过了,它可以在我的电脑上运行

git log --format='here you put formats you need for your case is like %d contain branch name and %cn committer  name ' | grep -F 'origin' 

这将列出所有带有提交者名称的分支名称

【讨论】:

以上是关于如何使用 git log --graph 显示标签名称和分支名称的主要内容,如果未能解决你的问题,请参考以下文章

“git log --graph”或“hg graphlog”如何工作?

git log

git log --graph 表格格式

`git log --follow --graph` 跳过提交

git log 查看提交记录

git log --oneline --graph的读法