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
git plan- create a new plan, or list existing plans
git plan --version- print version info
git plan --help- print help
git plan list [-l/--long] [-a/--all]- list existing plans
git plan add- plan a new commit
git plan edit- edit an existing plan
git plan delete- delete a plan
git 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.
git clone https://github.com/synek/git-plan && cd git-plan
- Create a virtualenv:
python -m venv .venv && source .venv/bin/activate
poetry install(installs in the virtualenv)
git plan --versionor
gp --version(must be run from within the virtualenv)
- Run tests:
- Install pre-commit hooks:
poetry run pre-commit install
You the minimum support Python version is
3.8 but there is an open issue to support
Failure on any of the hooks will prevent the action taking place.
Background and Future Work
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.