Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucasconstantino/git-aliases-semantic-commits
Git semantic commit local aliases installer
https://github.com/lucasconstantino/git-aliases-semantic-commits
aliases git semantic-commits
Last synced: 24 days ago
JSON representation
Git semantic commit local aliases installer
- Host: GitHub
- URL: https://github.com/lucasconstantino/git-aliases-semantic-commits
- Owner: lucasconstantino
- Created: 2020-01-31T17:28:52.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-02-07T14:54:50.000Z (over 4 years ago)
- Last Synced: 2024-10-05T02:15:46.913Z (about 1 month ago)
- Topics: aliases, git, semantic-commits
- Language: JavaScript
- Size: 80.1 KB
- Stars: 7
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Git Semantic Commit Aliases
:warning: not well tested, but should cause no big issue :)
> Git semantic commit local aliases installer, based on [semantic commit messages](https://seesparkbox.com/foundry/semantic_commit_messages) article.
## Install
```sh
npm install git-aliases-semantic-commits --save-dev
```Use the new aliases:
```sh
git chore 'message' # same as `git commit -m 'chore: message'`
git cleanup 'message' # same as `git commit -m 'cleanup: message'`
git docs 'message' # same as `git commit -m 'docs: message'`
git feat 'message' # same as `git commit -m 'feat: message'`
git fix 'message' # same as `git commit -m 'fix: message'`
git localize 'message' # same as `git commit -m 'localize: message'`
git refactor 'message' # same as `git commit -m 'refactor: message'`
git style 'message' # same as `git commit -m 'style: message'`
git test 'message' # same as `git commit -m 'test: message'`
```## Scopes
In many projects or repositories you might find some varying scopes for work being done - i.e. backend, frontend, etc. Scope your message using the `-s` parameter:
```sh
git chore -s backend 'message' # same as `git commit -m 'chore(backend): message'`
```### Automatic scopes
This package also allows for an opt-in automatic scope system, specially useful for monorepo projects (Lerna :heart:). To configure it, you need to add `semanticCommits.scope` strategy to your root `package.json`, i.e.:
```json
{
"name": "root",
"version": "1.0.0",
"semanticCommits": {
"scope": "package.json"
}
}
```There are currently no other strategies available, but "package.json" one. This strategy will look upwards from committing file paths to find related `package.json` files and use their `name` field as scope.
```
├── package.json
└── packages
├── first
│ └── package.json
└── second
└── package.json
```Now, whenever you use the semantic commit aliases this package provides for committing files in this repository, a few patterns will be found:
- `chore: message`: when only files outside packages were changed;
- `chore(first): message`: when only files inside _first_ were changed:
- `chore(first, second): message`: when files in both _first_ and _second_ packages were changed;
- `chore(@root, first): message`: when files in root and inside _first_ packages were changed.P.s.: you can still override the scope used by setting the `-s` parameter.
## See also
- [git-shared-aliases](https://github.com/lucasconstantino/git-shared-aliases) - Git aliases made available across your team
- [husky](https://github.com/typicode/husky) - Git hooks made easy 🐶 woof!## License
MIT