Probably the sharpest git repository organizer & rebase workflow automation tool you've ever seen ;)
Project description
git-machete
git machete is a versatile tool for organizing your git repo, including features like:
-
Automatic discovery of branch relations (
git machete discover
) -
Neat, customizable
git machete status
that shows what branches are in sync with their parent branch/remote tracking branch and which of them need to be rebased/pulled/pushed
- Semi-automatic traversal of the branches that helps you effortlessly rebase and push/pull the branches you care for (
git machete traverse
)
Install
We suggest a couple of alternative ways of installation.
Bash and zsh completion scripts are provided in completion/ directory, see wiki for their installation instructions.
git-machete works under both Python 2.7 and Python 3.
Using AUR (Arch Linux only)
Install the AUR package git-machete using an AUR helper of your preference.
Using make with sudo
Run the following commands to install git machete:
$ git clone --depth=1 https://github.com/VirtusLab/git-machete.git
$ cd git-machete
$ sudo make install
Using setup.py with sudo
You need to have Python from system packages with pip
and setuptools
installed.
$ git clone --depth=1 https://github.com/VirtusLab/git-machete.git
$ cd git-machete
$ python setup.py build
$ sudo python setup.py install
Using setup.py without sudo
You need to have Python from system packages with pip
and setuptools
installed.
$ git clone --depth=1 https://github.com/VirtusLab/git-machete.git
$ cd git-machete
$ python setup.py install --user
Please verify that your PATH
variable has ${HOME}/.local/bin/
included.
Quick start
$ cd your-repo/
$ git machete discover
# (see and possibly edit the suggested layout of branches)
$ git machete go root
$ git machete traverse
# (put each branch one by one in sync with its parent and remote counterpart)
Reference
Take a look at https://medium.com/virtuslab/make-your-way-through-the-git-rebase-jungle-with-git-machete-e2ed4dbacd02 for a guide on how to use the tool.
The more advanced features like automated traversal, upstream inference and tree discovery are described in the second part of the series: https://medium.com/virtuslab/git-machete-strikes-again-traverse-the-git-rebase-jungle-even-faster-with-v2-0-f43ebaf8abb0.
Contribute
To develop that project and run tests locally it is needed to have Python installed with tox
.
Use tox -e venv
to setup virtual environment to work on that project in your favorite IDE. Use .tox/venv/bin/python
as a reference python
interpreter in your IDE.
To run tests execute command tox
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for git_machete-2.11.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aba03bc1fb006ffa9e67564780ced35adee2b9d40a24b0f110058fab5877932 |
|
MD5 | b6dc4fa4df483944b4e828ed2dfae4e6 |
|
BLAKE2b-256 | c5a7d4c1e1a146a1245a78efcb2c454963b6c145734a2f46cb531f6692236aac |