How do I export a git log to a text file?

Git

Git Problem Overview


I want to export the log of all commits in a repo to a text file, is there any way to do this?

Git Solutions


Solution 1 - Git

You'll just need to disable the pager.

git --no-pager log > log.txt

If you want to format it to look nicer, you can use parameters of git log.

Solution 2 - Git

Have you tried git log > log.txt ?

Solution 3 - Git

git log | clip 

copies to clipboard, then paste to a textfile.

(Especially if you have the problem of line-ending and thus by this method you can copy and paste it in a Microsoft word document(.docx); so there would be a new line for each commit!!!)

Solution 4 - Git

You may use the > symbol send the output to a file. For example:

git log > commits.txt

Solution 5 - Git

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

Solution 6 - Git

Its been long since this question was asked and by that time things have been evolved.

But, it is very interesting that all answers here are correct but not really addressing a post command error which is also very common. Lets try to understand . . . .

Who knew it was super easy. Run a simple command

git log -p --all > git_log.txt

but then I strucked on an error

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

and we had a problem. The output file was half a gig.

We just wanted the first half of 2018 which we are able to do with --after and --until

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

This worked nicely for our purposes and was nice to know that we could change the format if need be.

Solution 7 - Git

You can make log report more clearly, by

(1) setting number of latest commits (for example, in below command, we get latest 50 commits, you can change it to 100, 500, etc.)

(2) display long commit in one line This command is display commit log in current branch:

 git log --oneline -50 > log50_latest_commits.txt

(3) If you want display commit at all branch

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

Generated text file will stand at the current directory.

Reference: https://git-scm.com/docs/git-log

(tested on git version 2.11.0.windows.1 and it works on many other versions of Git)

Solution 8 - Git

This is what worked for me with Git Bash on Windows 7:

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

replace <user-name> with your user name.

The file will be exported to your Desktop from where you can read it.

Good Luck...

Solution 9 - Git

In my case i found this was helpful

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

This will generate :

Author : your name

Date/Time : Commit Date time

Commit : Commit message

Solution 10 - Git

I found this article that could help you. Article of how generate a changelog One tool that you could use is changelog

npm install generate-changelog -g
changelog generate

It will create a well formed CHANGELOG.md file.

Greetings.

Solution 11 - Git

It's simple. if you don't matter save a file you need the open terminal

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

if you need a special directory, just write all path in the right side, like this

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

This directory, for example, you could use any one of your needs. I write a log like this just now.

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionInverted LlamaView Question on Stackoverflow
Solution 1 - GiteisView Answer on Stackoverflow
Solution 2 - GitHindolView Answer on Stackoverflow
Solution 3 - Gita-manView Answer on Stackoverflow
Solution 4 - GitFryann MartinezView Answer on Stackoverflow
Solution 5 - GitAyed Mohamed AmineView Answer on Stackoverflow
Solution 6 - GitKunal VohraView Answer on Stackoverflow
Solution 7 - GitJames GrahamView Answer on Stackoverflow
Solution 8 - GitAakashView Answer on Stackoverflow
Solution 9 - GitOmar HasanView Answer on Stackoverflow
Solution 10 - GitmariofertcView Answer on Stackoverflow
Solution 11 - GitIlya RogatkinView Answer on Stackoverflow