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

时间:2012-04-26 09:10:47

标签: git

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

11 个答案:

答案 0 :(得分:102)

您只需要禁用寻呼机。

git --no-pager log > log.txt

如果要将其格式化为更好看,可以使用parameters git log。

答案 1 :(得分:15)

您是否尝试过git log > log.txt

答案 2 :(得分:14)

git log | clip 

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

答案 3 :(得分: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)

答案 4 :(得分:3)

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

git log > commits.txt

答案 5 :(得分:2)

这对Git Bash Windows 7上的git log > /C/Users/<user-name>/Desktop/git-log.txt有用。

<user-name>

user name替换为Desktop

该文件将从read import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; /* Generated class for the PeopleDataProvider provider. See https://angular.io/guide/dependency-injection for more info on providers and Angular DI. */ @Injectable() export class PeopleDataProvider { constructor(public http: HttpClient) { console.log('Hello PeopleDataProvider Provider'); } getPeople(){ return this.http.get('https://randomuser.me/api/?results=10&nat=us&seed=d07ade5f51ff3011') .map(res => res.json()) .map(res => res.results); } } 导出到您的import { Component } from '@angular/core'; import { NavController } from 'ionic-angular'; import { DetailPage } from '../detail/detail'; import { PeopleDataProvider } from '../../providers/people-data/people-data'; @Component({ selector: 'page-home', templateUrl: 'home.html', providers: [PeopleDataProvider] }) export class HomePage { public people = new Array(); private detailPage; constructor(public navCtrl: NavController, public peopleData:PeopleDataProvider) { peopleData.getPeople().subscribe(people => { console.log('people',people); this.people = people; }); this.detailPage = DetailPage; } loadDetail(person){ console.log(person); this.navCtrl.push(this.detailPage, {person:person}); } }

祝你好运......

答案 6 :(得分:1)

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

答案 7 :(得分:1)

问了这个问题已经很久了,到那时事情已经发展起来。

但是 ,非常有趣的是,这里的所有答案都是正确的,但并没有真正解决岗位 命令错误 >这也很常见。让我们尝试了解。 。 。

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

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

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

答案 8 :(得分:0)

就我而言,这很有帮助

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

这将生成:

作者:您的名字

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

提交:提交消息

答案 9 :(得分:0)

我发现这篇文章可以帮助您。 Article of how generate a changelog 您可以使用的一种工具是更改日志

npm install generate-changelog -g
changelog generate

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

您好。

答案 10 :(得分:-1)

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

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

如果您需要特殊的目录,只需将所有路径写在右侧,就像这样

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

例如,此目录可以使用您的任何需要。 我刚才写了这样的日志。

This example show how to write a text in a file via bash