92

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

4

11 回答 11

148

您只需要禁用寻呼机。

git --no-pager log > log.txt

如果你想格式化它看起来更好,你可以使用git log 的参数

于 2012-04-26T09:29:57.373 回答
25

你试过git log > log.txt吗?

于 2012-04-26T09:15:45.420 回答
19
git log | clip 

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

(特别是如果您遇到行尾问题,因此通过这种方法您可以将其复制并粘贴到 Microsoft Word 文档(.docx)中;因此每次提交都会有一个新行!!!)

于 2016-06-02T07:29:21.743 回答
9

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

git log > commits.txt
于 2019-01-02T13:29:03.927 回答
4
git log --before="2019-2-23" --pretty=format:'"%h","%an","%ae","%aD","%s",' --shortstat --no-merges | paste - - - > log.txt
于 2019-02-25T15:02:40.650 回答
4

自从提出这个问题以来已经很久了,到那时事情已经发展了。

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

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

git log -p --all > git_log.txt

但后来我遇到了一个错误

> 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.

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

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

git log --pretty=format:"%ad - %an: %s" --after="2018-01-01" --until="2018-06-30" > git_log.txt

这很适合我们的目的,很高兴知道我们可以在需要时更改格式。

于 2020-04-20T07:32:51.110 回答
3

您可以使日志报告更清楚,通过

(1) 设置最新提交的数量(例如,在下面的命令中,我们得到最新的 50 个提交,您可以将其更改为 100、500 等)

(2) 在一行中显示长提交该命令是在当前分支中显示提交日志:

 git log --oneline -50 > log50_latest_commits.txt

(3) 如果你想在所有分支显示提交

 git log --all --oneline -50 > log50_latest_commits.txt

生成的文本文件将位于当前目录。

参考:https ://git-scm.com/docs/git-log

(经过测试git version 2.11.0.windows.1,它适用于许多其他版本的 Git)

于 2017-03-27T03:42:22.223 回答
2

Git Bash这对我有用Windows 7

git log > /C/Users/<user-name>/Desktop/git-log.txt

替换<user-name>为您的user name.

该文件将从您可以导出的位置导出到您Desktop的位置read

祝你好运...

于 2018-03-24T10:21:28.990 回答
1

就我而言,我发现这很有帮助

git log --after="2020-3-20" --pretty=format:'Author : %an %nDate/Time : %aD%nCommit : %s' | paste > log.txt

这将产生:

作者:你的名字

日期/时间:提交日期时间

提交:提交消息

于 2020-03-22T05:07:06.693 回答
0

我发现这篇文章可以帮助你。关于如何生成变更日志的文章 您可以使用的一种工具是变更日志

npm install generate-changelog -g
changelog generate

它将创建一个格式良好的 CHANGELOG.md 文件。

问候。

于 2021-03-09T16:44:24.437 回答
-1

这很简单。如果您不关心保存文件,则需要打开终端

cd {your git repository}
git log > your_file_name.txt

如果你需要一个特殊的目录,把所有的路径写在右边,像这样

cd {your git repository}
git log > /home/user/logs/your_file_name.txt

例如这个目录,你可以使用任何你需要的东西。我刚才写了一个这样的日志。

此示例显示如何通过 bash 在文件中写入文本

于 2020-04-08T10:56:05.503 回答