Question

I'm a noob with git and i would like to know the best practice to create tags and generate/mantain a changelog.

Until now, i always created a readme.md and manually indicate (in the section "changelog") the most important feature

For example:

version 1.0.1

  • changed layout in home
  • added slideshow in gallery
  • etc..

How can i create a changelog (maybe in markdown format) with these characteristics?

  • title of changes based on personalized title/tags title/date
  • changes based on tags or commits

I do not have a clear idea yet, so suggestions are aprreciate

Thanks in advance :)

Was it helpful?

Solution

There are no some common guidelines yet. But a lot of good rules are explained on keep a changelog.

And as they mention:

Don’t let your friends dump git logs into changelogs.

And I fully agree with it.

That's why I created GitHub Changelog Generator that generates a changelog according all these guidelines.

Actually it works with GitHub only, but it present a good example of how a changelog should look like.

It automatically generates a changelog from your tags, issues, labels and pull requests.

For example: This changelog was generated by this script: CHANGELOG.md

Changelog

1.2.5 (2015-01-15)

Full Changelog

Implemented enhancements:

  • Use milestone to specify in which version bug was fixed #22

Fixed bugs:

  • Error when trying to generate log for repo without tags #32

Merged pull requests:

  • PrettyPrint class is included using lowercase 'pp' #43 (schwing)

  • support enterprise github via command line options #42 (glenlovett)

OTHER TIPS

I suggest you still manually describe the changes in the changelog.

Tough, you can link to a generated changes via github diff. For example, the changelog: https://github.com/rspec/rspec-core/blob/master/Changelog.md

And the diff: https://github.com/rspec/rspec-core/compare/v2.14.2...master

You may want to look around in the repositories of some other reference opensource projects where a lot of good practices can be found.

Probably my Asnwer is too late, but now I'm using a amazing ruby gem, it read your git log and split by tags, and the output is written in markdown, take a look

https://github.com/kebab-project/katip

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top