如何将git日志导出到文本文件?

Inv*_*ama 59 git

我想将repo中所有提交的日志导出到文本文件,有什么办法可以做到这一点吗?

eis*_*eis 105

您只需要禁用寻呼机.

git --no-pager log > log.txt
Run Code Online (Sandbox Code Playgroud)

如果要将其格式化为更好,可以使用git log的参数.


Hin*_*dol 17

你试过git log > log.txt吗?


a-m*_*man 14

git log | clip 
Run Code Online (Sandbox Code Playgroud)

复制到剪贴板,然后粘贴到文本文件

  • 这似乎是Windows用户解决直接写入文件的Unix行结束问题的最简单方法. (4认同)

Aye*_*ine 11

git log --before="2019-2-23" --pretty=format:'"%h","%an","%ae","%aD","%s",' --shortstat --no-merges | paste - - - > log.txt
Run Code Online (Sandbox Code Playgroud)


Kun*_*hra 10

这个问题已经很久没有被问到了,到那时事情已经发生了变化。

但是,非常有趣的是,这里的所有答案都是正确的,但并没有真正解决也很常见的命令后错误。让我们试着理解一下。。。。

谁知道这非常容易。运行一个简单的命令

git log -p --all > git_log.txt
Run Code Online (Sandbox Code Playgroud)

但后来我犯了一个错误

> warning: inexact rename detection was skipped due to too many files.
> warning: you may want to set your diff.renameLimit variable to at least 2951 and retry the command.
Run Code Online (Sandbox Code Playgroud)

我们遇到了问题。输出文件有半演出。

我们只想要 2018 年上半年,我们能够做到--after这一点--until

git log --pretty=format:"%ad - %an: %s" --after="2018-01-01" --until="2018-06-30" > git_log.txt
Run Code Online (Sandbox Code Playgroud)

这非常适合我们的目的,并且很高兴知道我们可以根据需要更改格式。


小智 6

您可以使用>符号将输出发送到文件。例如:

git log > commits.txt
Run Code Online (Sandbox Code Playgroud)