如何在每个提交中的`git log`中显示分支名称

3
在Gitk中,显示提交会产生如下输出:
Author: ...
Committer: ...
Parent: ...auth/parser)
Parent: ... (Merge branch '...')
Child:  ...
Branches: remotes/me/foo, foo

有没有一种方法可以在 git log 中获得这种输出?使用 git log --graph 可以提供类似的信息,但在我的长期分支仓库中,需要不断滚动才能找到提交所在的分支。

(类似问题:如何在`git log`中显示分支名称?

1个回答

5
我使用这个:
git log --pretty=format:\"%h %ad [%an] %s%d\" --graph --date=short
--all --date-order

我在我的全局.gitconfig文件中添加了别名。

[alias]
    hist = log --pretty=format:\"%h %ad [%an] %s%d\" --graph --date=short --all --date-order

并且可以调用简单的git hist

它会生成易于阅读的修订树,每个提交都有短的哈希值、作者、日期、分支、HEAD等信息,都显示在一行上,非常漂亮。


3
我使用类似的东西,但是"%d"只给每个分支的提示标签。我希望有一种能够为每个提交打上标签的方法。 - Steve Bennett
我使用的命令是:git log --pretty='%Cblue%h%C(cyan)%d%Cred %cn %Cgreen %ar %Creset %s'。 - Steve Bennett
@radisto,我尝试了你的命令。它报错了:fatal: ambiguous argument '%ad': unknown revision or path not in the working tree. 使用'--'来将路径与版本分开,像这样:'git <command> [<revision>...] -- [<file>...]'。我正在使用git版本1.9.3。 - user674669
看起来你使用了一些额外的日志格式,这与'%ad'不明确。请参阅http://superuser.com/questions/273570/git-log-alias-fatal-ambiguous-argument-ad-unknown-revision-or-path。 - radistao
1
它只显示最后一次提交的分支,而不是所有提交的分支。 - peterh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接