git_changie is a powerful Dart command-line tool designed to simplify the generation of changelogs from Git commit messages while promoting a standardized commit message format. π
- Changelog Generation: Automatically generates a changelog from Git commit messages.
- Output File Customization: Specify the output file name (default:
CHANGELOG.md). - Backup Existing Changelog: Automatically creates a backup of the existing changelog file before overwriting it.
--hash: Include commit hash in the changelog.--author: Include commit author in the changelog.--date: Include commit date in the changelog.--from-tag <tag>: Generate changelog starting from a specific Git tag.--to-tag <tag>: Generate changelog up to a specific Git tag (inclusive).--since <date>: Generate changelog starting from a specific date (format: YYYY-MM-DD).--until <date>: Generate changelog up to a specific date (format: YYYY-MM-DD).--output <file>: Specify the output file name (default:CHANGELOG.md).--add-category <name>: Add a custom category for commit messages if needed.--help: Show help message with usage instructions.
- Supports a variety of emoji categories for better organization of commit messages, including:
- π¨ Style
- β‘οΈ Performance
- π₯ Remove
- π Fixes
- π Critical Hotfix
- β¨ Features
- π Documentation
- π Deployment
- π UI Changes
- π Initial Commit
- β Tests
- ποΈ Security
- π Secrets
- π Release Tags
- π¨ Warnings
- π§ Work In Progress
- π CI Build
- β¬οΈ Downgrade
- β¬οΈ Upgrade
- π Pin Dependencies
- π· CI System
- π Analytics
- β»οΈ Refactor
- β Add Dependency
- β Remove Dependency
- π§ Configuration
- π¨ Development Scripts
- π Internationalization
- βοΈ Typos
- π© Bad Code
- βͺ Revert
- π Merge
- π¦ Compiled Files
- π½οΈ API Changes
- π Move/Rename Resources
- π License
- π₯ Breaking Changes
- π± Assets
- βΏοΈ Accessibility
- π‘ Comments
- π» Drunken Code
- π¬ Text Changes
- ποΈ Database Changes
- π Logs
- π Remove Logs
- π₯ Contributors
- πΈ User Experience
- ποΈ Architectural Changes
- π± Responsive Design
- π€‘ Mocking
- π₯ Easter Eggs
- π .gitignore
- πΈ Snapshots
- βοΈ Experiments
- π SEO
- π·οΈ Types
- π± Seed Files
- π© Feature Flags
- π₯ Catch Errors
- π« Animations
- ποΈ Deprecate Code
- π Authorization
- π©Ή Minor Fixes
- π§ Data Inspection
- β°οΈ Remove Dead Code
- π§ͺ Failing Test
- π Business Logic
- π©Ί Healthcheck
- π§± Infrastructure
- π§βπ» Dev Experience
- πΈ Sponsorships
- π§΅ Multithreading
- π¦Ί Validation
With git_changie, you can effortlessly track and categorize changes in your project, making collaboration smoother and more organized! π
You can clone the repository and build it locally:
git clone https://github.com/Shreemanarjun/git_changie.git
cd git_changie
dart pub getRun
dart pub global activate git_changie To generate CHANGELOG.MD
git_changieFor a more visually appealing commit message experience, you can integrate the Gitmoji plugin for Visual Studio Code. This plugin provides a list of emojis to choose from, helping you maintain consistency in your commit messages.
To install the Gitmoji extension:
- Open VS Code.
- Go to Extensions (Ctrl+Shift+X).
- Search for "Gitmoji" and install it.
- Follow the extension's instructions to start using Gitmoji in your commit messages.
Run the git_changie command in your terminal with various options to customize the output. Here are some common usages:
To generate a changelog from your Git commits:
git_changieYou can include the commit hash, author, and date in your changelog:
git_changie --hash --author --dateGenerate a changelog starting from a specific tag:
git_changie --from-tag v1.0.0Or up to a specific tag:
git_changie --to-tag v2.0.0You can filter commits by date ranges:
git_changie --since 2024-01-01 --until 2024-09-30To specify a custom output file for the changelog:
git_changie --output my_changelog.mdYou can add custom categories for your changelog entries:
git_changie --add-category "Custom Category"For a full list of options, run:
git_changie --helpFeel free to submit issues, pull requests, or suggestions.
This project is licensed under the MIT License. See the LICENSE file for more details.