我想将 repo 中所有提交的日志导出到文本文件,有什么办法吗?
11 回答
你试过git log > log.txt
吗?
git log | clip
复制到剪贴板,然后粘贴到文本文件。
(特别是如果您遇到行尾问题,因此通过这种方法您可以将其复制并粘贴到 Microsoft Word 文档(.docx)中;因此每次提交都会有一个新行!!!)
您可以使用>
符号将输出发送到文件。例如:
git log > commits.txt
git log --before="2019-2-23" --pretty=format:'"%h","%an","%ae","%aD","%s",' --shortstat --no-merges | paste - - - > log.txt
自从提出这个问题以来已经很久了,到那时事情已经发展了。
但是,非常有趣的是,这里的所有答案都是正确的,但并没有真正解决同样很常见的命令后错误。让我们试着理解。. . .
谁知道这超级容易。运行一个简单的命令
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
这很适合我们的目的,很高兴知道我们可以在需要时更改格式。
您可以使日志报告更清楚,通过
(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)
Git Bash
这对我有用Windows 7
:
git log > /C/Users/<user-name>/Desktop/git-log.txt
替换<user-name>
为您的user name
.
该文件将从您可以导出的位置导出到您Desktop
的位置read
。
祝你好运...
就我而言,我发现这很有帮助
git log --after="2020-3-20" --pretty=format:'Author : %an %nDate/Time : %aD%nCommit : %s' | paste > log.txt
这将产生:
作者:你的名字
日期/时间:提交日期时间
提交:提交消息
我发现这篇文章可以帮助你。关于如何生成变更日志的文章 您可以使用的一种工具是变更日志
npm install generate-changelog -g
changelog generate
它将创建一个格式良好的 CHANGELOG.md 文件。
问候。
这很简单。如果您不关心保存文件,则需要打开终端
cd {your git repository}
git log > your_file_name.txt
如果你需要一个特殊的目录,把所有的路径写在右边,像这样
cd {your git repository}
git log > /home/user/logs/your_file_name.txt
例如这个目录,你可以使用任何你需要的东西。我刚才写了一个这样的日志。