我使用git log,但我发现它只能列出当前分支下的日志,而我想列出所有分支的所有日志并按修改日期排序,这有可能吗?如何做到?提前感谢!
git log --graph --abbrev-commit --pretty=decorate --branches
它应该列出所有分支,包括远程分支(如果已获取)。
--branches[=pattern]
refs/heads
中的引用都列在命令行中,如 <commit>
。?, , or [, /
则被隐含。git branch
或 git branch -a
git branch -a
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
(你可以完善格式以显示所需的所有数据--作者、提交消息等)
按日期显示git分支-对于显示活跃分支非常有用 打印出包括相对时间和颜色编码在内的分支的最后提交日期的列表。
注意:正如Jakub Narębski所适当地评论的:
不要为脚本使用
git branch
输出!!! 使用git for-each-ref
或git show-ref
管道(用于脚本的低级命令)
git branch
是一个瓷器命令,因为它是为用户而设计的,而不是为脚本而设计的。
正如Eric Raymond所说,它符合良好的git设计哲学,即将内容操作(管道)与表示(瓷器)分离。
git log --all
git branch -a
命令可以显示子集。 - Arafangion--all
中包含HEAD:git log <other-options> --all HEAD
。 - Chris Johnsen
git branch
命令输出!!! 请使用git for-each-ref
或git show-ref
命令(用于脚本编写的低级命令)。 - Jakub Narębski