Welcome to git-gq’s documentation!

Patch queues for git

This program implements patch queues for git.

It adds the subcommand ‘gq’ for git. You can use it like any other built-in git subcommand like in:

git gq COMMAND OPTIONS

With it’s bash command completion support you can always just enter the first letters of your COMMAND and press <TAB> to show all possible completions.

Patch queues are a very flexible tool for your local development, everything you have not yet published or pushed to another git repository. You can put git commits on the patch queue with git gq pop and re-apply them later with git gq push. You can change, reorder or combine patches.

Patch queues can replace the usual ‘git pull or git rebase’ workflow. Instead you put your local commits on the queue with git gq pop -a, run git pull and re-apply them with git gq push -a.

If there are conflicts with your patches, you do not have resolve them all at once in one big merge commit, instead you resolve conflicts step by step for each patch, which is usually much easier.

Author:

Goetz Pfeiffer <goetzpf@googlemail.com>

Version:

2.0.2

See also

Goetz Pfeiffer’s Project site for other open source projects.

Disclaimer

Warning

I have tested git-gq and use it myself. However, I cannot guarantee that it will never damage your repository. It’s high degree of flexibility also means that you may use it in a way I didn’t intend and didn’t test.

When you are new using this tool for the first time, you should make a backup of your repository, for example like this:

cp -a MYREPO MYREPO-BACKUP

A backup of the current state of the patch queue is done with:

git gq backup

It is recommended that you always run this command before you reorder or fold patches and before you run git pull while some of your patches are still unapplied.

Documentation

Installation

See How to install git-gq

Repository site

https://github.com/goetzpf/git-gq

Indices and tables