2010-06-05 43 views

回答

1

git log --all

+0

已测试,但仅显示主分支的日志 – MemoryLeak 2010-06-05 03:37:21

+1

它当然不能在远程机器上列出不同分支的日志,而无需先将它们合并到当前分支中。你想要列出哪些其他参考?子集可以通过'git branch -a'命令显示。 – Arafangion 2010-06-05 04:01:26

+0

但在gitk gui中,我可以看到所有的日志都包含了所有的分支!我怎样才能通过命令行来获取? – MemoryLeak 2010-06-05 04:09:51

4

您可以检查this question,看看是否开始解决您的日志级别:

git log --graph --abbrev-commit --pretty=decorate --branches 

应该列出所有分支机构,包括遥控器的人(如果获取)

--branches[=pattern] 

假设所有refs/heads中的参数都在命令行中列出为<commit>
如果给出了模式,则将分支限制为与给定shell glob匹配的分支。
如果模式缺乏?, , or [, /最后暗示。


你可以试试这个commandline-fu,与git branchgit branch -a
git branch -a肯定是你需要什么,你希望看到相同的树枝,而不是gitk

for k in `git branch -a|perl -pe s/^..//`;do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset%cn: %s" $k|head -n 1`\\t$k;done|sort -r 

或者:

for k in `git branch -a|sed s/^..//`;do echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset%cn: %s" "$k"`\\t"$k";done|sort 

(你可以complete the format显示任何数据 - 作者,提交信息,... - 你需要)

显示的Git分支日期 - 可用于显示活跃的分支 打印出清单所有具有最后提交日期的分支到分支,包括自提交和颜色编码以来的相对时间。


注:由于Jakub Narębski恰当评论:

不要使用git branch输出脚本!使用git for-each-refgit show-ref管道(意味着脚本的低级命令)

git branch命令正是因为它表示为用户的,而不是用于脚本。

正如Eric Raymond所说,它符合将演示文稿(瓷器)与内容操作(管道)分开的完善的git设计理念。

+3

不要使用'git branch'输出脚本!使用'git for-each-ref'或'git show-ref' plumbing(用于脚本的低级命令)。 – 2010-06-05 11:38:03

+1

管道命令很难像印度尼西亚的地狱一样,在你可以编写助手的层面上学习他们,回答简单的问题,比如“树是否干净”需要一年的时间,并且**仍然**帮助者结束200 + loc。 “瓷器是为了人,管道是为了剧本”的想法忽略了这样一个事实,那就是写剧本的人。 – 2016-05-09 16:09:57

相关问题