# git changelog > Generate a changelog report from repository commits and tags. > Part of `git-extras`. > More information: . - Update existing file or create a new `History.md` file with the commit messages since the latest Git tag: `git changelog` - List commits from the current version: `git changelog --list` - List a range of commits from the tag named `2.1.0` to now: `git changelog --list --start-tag {{2.1.0}}` - List pretty formatted range of commits between the tag `0.5.0` and the tag `1.0.0`: `git changelog --start-tag {{0.5.0}} --final-tag {{1.0.0}}` - List pretty formatted range of commits between the commit `0b97430` and the tag `1.0.0`: `git changelog --start-commit {{0b97430}} --final-tag {{1.0.0}}` - Specify `CHANGELOG.md` as the output file: `git changelog {{CHANGELOG.md}}` - Replace contents of current changelog file entirely: `git changelog --prune-old`