Git日志输出日志文件


82

我正在大学课程中进行作业,并且正在使用git作为此作业的版本控制。我一直在努力的游戏已经完成,但是,我要提交git日志,以有效地显示我在努力期间的进度。

我已经试过了:

git log --stat > log.log

但这或多或少只是给了我非常难以理解的东西。任何人都可以通过命令帮助我,以便我获得很好的格式吗?


您希望输出关注什么?提交消息?分支?日期?文件?变化?
GoZoner 2012年

Answers:


132

我建议使用不同于默认格式的格式。我通常的选择是使用图形进行汇总,但是通常仅靠一行汇总就可以解决问题。

选项1: 带有图表的一行摘要

git log --pretty=format:'%h : %s' --graph > log.log

结果是:

* 2d3acf9 : ignore errors from SIGCHLD on trap
*   5e3ee11 : Merge branch 'master' of git://github.com/dustin/grit
|\  
| * 420eac9 : Added a method for getting the current branch.
* | 30e367c : timeout code and tests
* | 5a09431 : add timeout protection to grit
* | e1193f8 : support for heads with slashes in them
|/  
* d6016bc : require time for xmlschema

选项2: 不含图表的一行摘要

git log --pretty=format:'%h was %an, %ar, message: %s' > log.log

结果是:

a6b444f was Scott Chacon, 5 days ago, message: dammit, this is the second time this has re
49d77f7 was Scott Chacon, 8 days ago, message: modified index to create refs/heads if it i
9764edd was Hans Engel, 11 days ago, message: Add diff-lcs dependency
e1ba1e3 was Hans Engel, 11 days ago, message: Add dependency for Open4
0f87b4d was Scott Chacon, 12 days ago, message: merged recent changes

您可以在此处的文档中找到更多格式选项


我正在使用“-”从修订版本中分离路径
MarianKlühspies2015年

1
可以在git-scm.com/docs/git-log中找到格式占位符。搜索子标题“漂亮格式”
Eric Majerus

仅供参考:我知道这个答案很旧,但“文档”链接已损坏。我当然不会做其他人对我所做的事情:3年,4年或5年以上后,我的答案会被否决,因为稍后链接会变差。我已提交编辑以指向git-scm.com(git-scm.com/docs/pretty-formats)仅供参考。
艾瑞克·布朗

无效的对象名称%h
编码容器

10

试试这条线

git log > log.txt


1
这是基本的答案,我所需要的。
乔纳森

1
单独的git log会在控制台上显示标签和分支(所有分支,包括远程分支)。但是,git log> log.txt将没有那些标签/分支信息。我真的很想知道如何使它们相同(例如,获取带有标签/分支信息的输出)
Robin Hsu

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.