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 templategit clone https://github.com/synek/git-plan && cd git-plan
python -m venv .venv && source .venv/bin/activate
poetry install
(installs in the virtualenv)git plan --version
or gp --version
(must be run from within the virtualenv)tox
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.