git-wip
is a git extension to make working with continually rebased and
force-pushed work-in-progress branches a breeze.
Run make install
for a system installation or make user-install
for a user
installation into ~/.local/
.
If you run a user installation you'll probably want to add something similar to
the following to your ~/.bashrc
to enable bash completion:
### Completion
for comp in ${HOME}/.config/bash_completion.d/*; do
if [ -f "${comp}" ] ; then
. "${comp}"
fi
done
Run an interactive rebase on all commits in your wip (work-in-progress) branch:
$ git wip reapply
View the log of this wip branch:
$ git wip log
Add some fixup- and squash commits:
$ echo "Cool changes!" >> README.md
$ git wip fixup -a
$ echo "Dependency: zlib=1.2.0" >> deps.json
$ git wip squash -a
To perform the actual fixup/squash:
$ git wip autosquash
And to test that everything went fine (and you didn't introduce any non-building commits):
$ git wip for-all "make clean; make"