generate changelog for github repos
npm install github-changesgithub-changes 
==============
Generate a changelog based on merged pull requests or commit messages


```
npm install -g github-changes
`
Usage: github-changes [options]
Options:
-o, --owner (required) owner of the Github repository
-r, --repository (required) name of the Github repository
-d, --data (DEPRECATED) use pull requests or commits (choices: pulls, commits) [commits]
-b, --branch name of the default branch [master]
-n, --tag-name tag name for upcoming release [upcoming]
-a, --auth prompt to auth with Github - use this for private repos and higher rate limits
-k, --token need to use this or --auth for private repos and higher rate limits
-f, --file name of the file to output the changelog to [CHANGELOG.md]
-t, --title title to appear in the top of the changelog [Change Log]
-z, --time-zone time zone [UTC]
-m, --date-format date format [(YYYY/MM/DD HH:mm Z)]
-v, --verbose output details
--host alternate host name to use with github enterprise [api.github.com]
--path-prefix path-prefix for use with github enterprise
--between-tags only diff between these two tags, separate by 3 dots ...
--for-tag only get changes for this tag
--issue-body (DEPRECATED) include the body of the issue (--data MUST equal 'pulls')
--no-merges do not include merges
--only-merges only include merges
--only-pulls only include pull requests
--use-commit-body use the commit body of a merge instead of the message - "Merge branch..."
--order-semver use semantic versioning for the ordering instead of the tag date
--reverse-changes reverse the order of changes within a release (show oldest first)
--hide-tag-names hide tag names in changelog
`
#### Generate changelog via pull requests
`bash`
github-changes -o lalitkapoor -r github-changes -a --only-pulls --use-commit-body
#### Output
## Change Log
### v1.0.3 (2016/08/19 08:25 +00:00)
- #59 added --time-zone option (@YuG1224)
- #55 Update README with correct links! (@PunkChameleon)
### v1.0.2 (2016/02/22 00:53 +00:00)
- #53 added --for-tag option to generate changelog for single tag (@ivpusic)
### v1.0.1 (2016/01/12 01:52 +00:00)
- #52 Update ghauth dependency (@nunorafaelrocha)
### v1.0.0 (2015/04/12 14:32 +00:00)
- #47 Add a Gitter chat badge to README.md (@gitter-badger)
### v0.0.16 (2014/11/26 11:15 +00:00)
- #30 show changes between two tags (@lalitkapoor)
### v0.0.14 (2014/11/06 02:45 +00:00)
- #41 Aesthetic fixes (@nylen)
- #46 Add option to allow specifying the date format (@fixe)
- #45 Add option to allow specifying the changelog title (@fixe)
### v0.0.13 (2014/10/26 23:25 +00:00)
- #42 Fetch 100 tags per page (only 1 page for now) (@nylen)
### v0.0.12 (2014/09/02 05:37 +00:00)
- #36 PR links point to https://null/... (@lalitkapoor)
- #35 Update README.md with Grunt Plugin Info (@PunkChameleon)
...
#### Generate changelog via commit messages
`bash`
github-changes -o npm -r npm -a
#### Output
## Change Log
### upcoming (2014/02/23 10:02 +00:00)
- 70fd532 fix prune.js test with empty cache (@robertkowalski)
- 6fd6ff7 Sort dependencies when --save'ing. (@domenic)
- 2ddd060 add test, some boyscouting (@robertkowalski)
- 17f07df Add --save-exact config for --save[-dev|-optional]. (@timoxley)
- 4b51920 Prevent creation of node_modules/npm-4503-c (@timoxley)
- 30b6783 doc: update misc/semver.md (@isaacs)
### v1.4.4 (2014/02/20 16:04 +00:00)
- 05d2490 uid-number@0.0.4 (@isaacs)
- 3850441 Document the --tag option of npm-publish (@kriskowal)
- 14e650b alias 't' to 'test' (@isaacs)
- d50b826 uid-number@0.0.5 (@isaacs)
- cd7e4a2 v1.4.4 (@isaacs)
### v1.4.3 (2014/02/17 04:37 +00:00)
- 3ce6905 view: remove arbitrary cache limit (@isaacs)
- bb6fb4d read-installed@1.0.0 (@isaacs)
- caa7065 new tests for read-installed (@isaacs)
- 401a642 link: do not allow linking unnamed packages (@isaacs)
- 09223de Forbid deleting important npm dirs (@isaacs)
- 86028e9 dedupe: respect dependency versions (@rafeca)
- 02d4322 Follow redirects on curl|sh installer script (@isaacs)
- 8a26f6f Test for repo command (@isaacs)
- acc4d02 prune: Added back --production support (@davglass)
- 0a3151c default to ^ instead of ~ (@mikolalysenko)
- 9ae71de npm-registry-client@0.4.4 (@isaacs)
- 46d8768 "install ./pkg@1.2.3" should install local module (@rlidwka)
- f469847 test: express is not in mocks, use underscore instead (@isaacs)
...
If you want to generate a changelog within a grunt workflow, [a grunt plugin] (https://github.com/PunkChameleon/grunt-github-changes) that can be utilized. To install:
``
npm install grunt-github-changes --save-dev
For further details and specifics on how to use (and to contribute), see grunt-github-changes.
#### How are squashed pull request matched?
When a pull request is merged with "Squash and merge", there isn't a merge commit.
By checking the commit message for (#123)` etc, we can match the correct pull request.