如何在git中列出当前项目的所有日志?

如何在git中列出当前项目的所有日志?,git,logging,Git,Logging,我使用git日志,但我发现它只能列出当前分支下的日志,但我想列出所有分支的所有日志并按修改日期排序,这可能吗?怎么做?提前谢谢 git log——所有的您可以检查这是否开始解决您的日志级别: git log --graph --abbrev-commit --pretty=decorate --branches 它应该列出所有分支,包括远程分支(如果获取) 假设refs/heads中的所有ref都列在命令行上,如 如果给定了模式,则将分支限制为与给定shell glob匹配的分支。 如果图案缺

我使用git日志,但我发现它只能列出当前分支下的日志,但我想列出所有分支的所有日志并按修改日期排序,这可能吗?怎么做?提前谢谢

git log——所有的

您可以检查这是否开始解决您的日志级别:

git log --graph --abbrev-commit --pretty=decorate --branches
它应该列出所有分支,包括远程分支(如果获取)

假设refs/heads中的所有ref都列在命令行上,如

如果给定了模式,则将分支限制为与给定shell glob匹配的分支。
如果图案缺少
?,或[,/
,则暗示在结尾处


您可以使用
git branch
git branch-a

git分支-a
当然是您所需要的,您希望看到与gitk相同的分支)

或:

(您可以显示所需的任何数据——作者、提交消息等)

按日期显示git分支-用于显示活动分支 打印出所有分支的列表,其中包含上次提交到分支的日期,包括自提交以来的相对时间和颜色编码


注:恰当的评论如下:


不要使用
git branch
输出来编写脚本!!!对每个ref使用
git
git show ref
管道(用于编写脚本的低级命令)

git-branch
是一个命令,因为它是为用户而不是为脚本编写的


正如所说,它符合公认的git设计理念,即将内容操作(管道)与表示(陶瓷)分离.

已测试,但仅显示master branchIt的日志当然不能列出远程计算机上不同分支的日志,而必须先将它们合并到当前分支中。您希望列出哪些其他引用?可以通过
git branch-a
命令显示子集。但是在gitk gui中,我可以看到所有日志都包含所有分支!我如何使用命令行获得它?正如前面提到的那样,这种行为应该由--all参数提供。请参阅该命令的git文档。(您希望看到的提交是否可能在噪音中丢失?请记住gitk也会查看索引).@MemoryLeak:要拾取分离的头部,您需要将头部包含在
--all
git log--all HEAD
中,不要使用
git分支
输出来编写脚本!!!对每个ref或
git show ref
管道(用于编写脚本的低级命令)。管道命令非常困难,学习这些命令需要一年时间,你可以编写助手来回答简单的问题,如“树干净吗?”等,但助手最终仍有200多个loc。这种“瓷器是为人准备的,管道是为脚本准备的”的想法忽略了这样一个事实:是人编写脚本。
--branches[=pattern]
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