Commita
Born from a friend's idea and the thought that interfaces for Git aren't nice, Commita's here to revolutionize.
Overview
Commita is a framework and a wrapper for Git, you can call it as you wish.
Commita's sole purpose is to simplify Git, starting from the process of commiting, while also featuring self-healing to most of Git Errors.
Features
- Quicker Pipeline — Commita simplifies the process of commiting and pushing
-
Self-Healing — Commita is capable of self-healing errors
- This is a WORK IN PROGRESS! Do not trust Commita for big projects yet!
-
Helpful Commands — Commita features a few pre-defined semantical commit options, with also the idea of allowing you to define your own semantical commits
- Simple Configurations — Commita creates your own config folder
.commitafor all your projects, helping you keep your preferred settings to each project you have.
Installation
Commita has a installer being worked on, this part can change at any moment!
First, clone this repository:
git clone https://github.com/gabrielEFagundes/commita
Then simply build core.go from this repository to your prefered folder and add it to your PATH.
go build -o /path/to/your/folder/commita.exe core.go # THIS WILL BE CHANGED SOON
- On windows, you can use path manager
- On Linux, you can use the following command:
export PATH=$PATH:/path/to/your/folder
Note that this is only temporary, you need to add that same line to your ~/.profile file for permanent changes.
- On MacOS, add the path to commita into the
/etc/pathsfile.
Quick start
Start by setuping your own configurations:
commita config set -u "https://your-repo-url/" -b "your-default-branch"
Then, define your git login for the project:
commita config login --local/--global "your-user" "your-email"
You're ready to Go now!
Usage
Basic example
commita commit --feat "Adding new feature"
# ✨ feat: Adding new feature
commita commit --type "perf" "Upgrading performance"
# perf: Upgrading performance
Configuration
{
"defaultBranch": "main",
"useEmoji": true,
"useAi": false,
"url": "",
"login": {
"user": "",
"email": "",
"abundance": ""
}
}
Every configuration can be changed from the JSON or with command lines.
Pro tip
You don't have to parse your branch if you don't want to, Commita's default branch on the config file is main.
Error handling
commita commit --docs "Updating README.md"
Initializing your repository... [ OK ]
Adding your remote to the origin... [ OK ]
Staging your changes... [ OK ]
Commiting your changes... [ OK ]
Changing to your branch... [ OK ]
Pushing your changes... [ FATAL! ]
You have changes on your remote that aren't in your local repo!
Would you like me to pull your remote data? (y/n) yes
Done!
Examples
Examples are coming soon!
Contributing
Contributions are welcome! Please read the contributing guide before opening a PR.
License
MIT © Gabriel Ehrat Fagundes