Skip to content

Lightweight and joyful `git commit` replacement. Conventional Commits compliant.

License

Notifications You must be signed in to change notification settings

tunnckoCoreLabs/gitcommit

Repository files navigation

gitcommit npm version github release License

Lightweight and joyful git commit replacement. Conventional Commits compliant.

You might also be interested in prompts or in the other related projects.

Quality Assurance 💯

Code Style Standard Linux Build Code Coverage Dependencies Status Renovate App Status

If you have any how-to kind of questions, please read Code of Conduct and ping me on twitter or open an issue.
You may also read the Contributing Guide. There, beside "How to contribute?", we describe everything stated by the badges.

Make A Pull Request Code Format Prettier Node Security Status Conventional Commits Semantically Released

Project is semantically & automatically released on CircleCI with new-release and its New Release Github Bot.

All Contributors Spec Newsletter Subscribe Give thanks Share Love Tweet NPM Downloads Weekly NPM Downloads Monthly NPM Downloads Total

Table of Contents

Install

This project requires Node.js v8.6 or above. Install it using yarn v1.3+ or npm v5.2+ package managers.

$ yarn add gitcommit

Or install it globally and for example run gitcommit --scope. It will prompt you with questions for commit type, commit scope and commit subject (short description). The type and subject questions are required always, so you can't skip them.

$ yarn global add gitcommit

All git commit flags are available too.

# -s is --signoff, -S is --gpg-sign
$ gitcommit -S -s --scope --body --footer

# equivalent of above is following
# where -x is --scope, -y is --body and -w is --footer
$ gitcommit -Ssxyw

Above command will GPG Sign commit, add Sign-off-by at the end line, prompt for commit scope, body and footer. Consider we commit breaking change.

$ gitcommit -Ssxyw
? Select the type of this change ›
❯  fix:   A bug fix
   feat:  New feature
   major: Breaking change
   chore: Non src or test files changes
   docs:  Documentation only changes
✔ What is the scope of this change? … refactor
✔ Short, imperative tense description … huge api change
✔ Longer description (or fixes #17423, closes #33) … some pretty long body description.
✔ List issues or PRs (e.g. fixes #1771, resolves #371) … fixes #33, resolves #511

The actual git commit command which will be executed is like

$ git commit --allow-empty-message -S -s -m "major(refactor): huge api change" -m "" -m "some pretty long body description." -m "" -m "fixes #33, closes #511"

API

Review carefully the provided examples and the working tests.

back to top

Related Projects

Some of these projects are used here or were inspiration for this one, others are just related. So, thanks for your existance!

back to top

Contributing

Please read the Contributing Guide and Code of Conduct documents for advices.
For bugs reports and feature requests, please create an issue.

Contributors

Thanks to the hard work of these wonderful people this project is alive and it also follows the all-contributors specification.
Pull requests, stars and all kind of contributions are always welcome.

Users

You can see who uses gitcommit in the USERS.md file. Please feel free adding this file if it not exists.
If you or your organization are using this project, consider adding yourself to the list of users. Thank You!

License

Copyright (c) 2017-present, Charlike Mike Reagent <olsten.larck@gmail.com>.
Released under the Apache-2.0 License.


This file was generated by verb-generate-readme, v0.6.0, on March 07, 2018.
Project automation and management with hela task framework.