Skip to content
Prepare and store patch revisions as git tags
Python Shell
Branch: master
Clone or download

Latest commit

stefanha Bump version number for git-publish 1.6.1 release
Signed-off-by: Stefan Hajnoczi <>
Latest commit be6b4a4 Mar 30, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.

Tired of manually creating patch series emails?

git-publish prepares patches and stores them as git tags for future reference. It works with individual patches as well as patch series. Revision numbering is handled automatically.

No constraints are placed on git workflow, both vanilla git commands and custom workflow scripts are compatible with git-publish.

Email sending and pull requests are fully integrated so that publishing patches can be done in a single command.

Hook scripts are invoked during patch preparation so that custom checks or test runs can be automated.

How to install


Packages are available for:

Manual install

You can also run git-publish from the source tree (useful for development). Assuming ~/bin is on $PATH:

$ git clone
$ ln -s $PWD/git-publish/git-publish ~/bin/

git publish alias

Run git-publish --setup to install the git alias so you can invoke git publish instead of git-publish.

How it works

Send the initial patch series email like this:

$ git publish --to --cc

You will be prompted for a cover letter on a multi-patch series and you will be presented with a chance to review the emails before they are sent.

Sending successive revisions is easy, you don't need to repeat all the details since git-publish stores them for you:

$ git publish # to send v2, v3, etc


Read the man page here.

Get in touch

Please submit pull requests on GitHub ( or email patches to Stefan Hajnoczi

You can’t perform that action at this time.