Table of Contents:
Git, without doubt is one of the greatest development tools in existence, but using the right way is a difficult thing, while you can search the internet for articles and various models, you can start getting a lot of tabs open and many models to follow and opt-in. With this problem in mind that we created the GitGud Model, it covers everything, from commit messages to changelogs. You can chose to use only one of the submodels or all of them, or even create your own guidelines based on it, the choice is yours. An official CLI is available right here, to ease the use of this model.
A submodel is a collection of guidelines, code of conducts and naming conventions. This collection, when focused in a specific topic, creates a model that can be used in an independent way or together with other models, hence the nomenclature submodel, as is just a part of a larger one.
When using git, we ended up with multiple tabs listing various guidelines and models, that provided only pieces of the information that we wanted. In the end we needed to choose a few points of each article that we found and twet it to our linking.
That is why we created the GitGud Model, to be a centralized place to gather all this info and create a concise and comprehensive model that we can update over time to create a really easy and powerful way of using Git and its features. And of course, it's open source as everyone can contribute with their ideas and changes, and of course, tweak the model and its submodels to best suit their projects.
- Reduces the effort to understand and read documentation and code;
- Provides a template on how to use Git features (commits, pull requests, etc.);
- Reduces the amount of necessary discussion between team members over trivial Git things;
- Improves code and commit history quality;
- Ease the use of CI/CD;
- Facilitates code collaboration.
- GitGud: Commit Submodel - Commit rules and commit messages convention
- GitGud: Pull Request Submodel - Pull Requests convention and best practices
- GitGud: Issue Submodel - Issues guidelines and templates
GitGud Flow:
- GitGud Flow Submodel - An easy branching model focused CI/CD and collaboration
- GitGud Flow Commands Guide - How to follow the GitGud Flow from the command line
Versioning:
- GitGud: Versioning Submodel - An easy versioning model based on the Semantic Versioning
- GitGud: Changelog Submodel - An easy changelog model based on the Keep a Changelog
If you plan to use the GitGud Model, you can put a badge somewhere in your documentation, README or CONTRIBUTING, to show that you are using the model or the submodels.
Some examples:
[](https://github.com/HRKings/GitGud/tree/stable)[](https://github.com/HRKings/GitGud/blob/stable/Versioning/Versioning.md)[](https://github.com/HRKings/GitGud/blob/stable/Versioning/Changelog.md)[](https://github.com/HRKings/GitGud/blob/stable/Flow/GitGud_Flow.md)