A better workflow for git.
Git plan allows you to write your commit messages in-advance, before you start coding. Then you can use those planned-commits as a template for your commit message when you are ready to commit your work. This makes it easier to plan your work and stay on-track.
This tool is in alpha stage. If anything breaks, please open an issue.
pip install git-plan
To use the tool, run git plan init (or simply gp <command>) to initialize, and then git plan add to plan a new commit. When you are ready to make a commit to git, use git plan commit to use the plan as a template for your commit message.
git plan init- initialize git plan in the.plan/directorygit plan- create a new plan, or list existing plansgit plan --version- print version infogit plan --help- print helpgit plan list [-l/--long] [-b/--branch]- list existing plansgit plan add- plan a new commitgit plan edit- edit an existing plangit plan delete- delete a plangit plan commit- commit your work, choosing a plan as your commit message template
- Download the tool and try it out
- Create an issue if you find a bug
- Open a discussion topic if you have a suggestion or question
- Fork the repository, fix a bug or add a feature, and open a PR
- If you'd like making a contribution please ask and we can help you.
- Clone:
git clone https://github.com/synek/git-plan && cd git-plan - Create a virtualenv:
python -m venv .venv && source .venv/bin/activate - Install:
poetry install(installs in the virtualenv) - Check:
git plan --versionorgp --version(must be run from within the virtualenv) - Run tests:
tox - Install pre-commit hooks:
poetry run pre-commit install
The minimum requirement is python3.6.
Failure on any of the hooks will prevent the action taking place.
Here is an interesting blog post about pre-emptive commit comments, and another about this project itself.
The next step for git plan is to add support for importing plans from Github and Linear. There is a gap between "project planning" tools like Linear, and "project building" tools like git. I'd like to close that gap.
After that, I would like to make it less painful to context-switch while writing code. git plan will be able to context-switch with you, and automatically stage your changes for you when you want to commit your work.
