gbp-push — Push Debian™ packaging changes to a Git™ remote


gbp push [--version] [--help] [--verbose] [--color=[auto|on|off]] [--color-scheme=COLOR_SCHEME] [--ignore-branch] [--debian-branch=branch_name] [--upstream-branch=branch_name] [--debian-tag=tag-format] [--upstream-tag=tag-format] [--[no-]pristine-tar] [--dry-run] [repository]


gbp push pushes your local changes to a remote repository. It is best run after uploading a Debian™ package to the archive to update you debian-branch, upstream-branch, pristine-tar™ branch and corresponding tags. It will in order

  • Verify that it is being executed from the debian-branch.

  • Determine the debian tag from debian/changelog and add it the list of things to push if the changelog does not indicate an unreleased package.

  • Determine the upstream tag from debian/changelog and add it to the list of things to push if it's not a native package.

  • Determine if the tags correspond to the branch tips of the corresponding upstream and debian branches. If so, these branches will be added to the list of things to push. If not the changes will only be pushed up to the commit that is referenced by the corresponding tag.

  • Determine if the pristine-tar branch needs to be pushed and if so adds it to the list of things to push.

  • Finally, if not in dry-run mode, pushes the above changes to the remote side.

If a remote is given on the command line the changes are pushed to the given remote repository. By default it will push to the current branchs remote and fall back to origin.



Print version of the program, i.e. version of the git-buildpackage suite

-v, --verbose

Verbose execution

-h, --help

Print help and exit


Whether to use colored output.


Colors to use in output (when color is enabled). The format for COLOR_SCHEME is '<debug>:<info>:<warning>:<error>'. Numerical values and color names are accepted, empty fields imply the default color. For example, --git-color-scheme='cyan:34::' would show debug messages in cyan, info messages in blue and other messages in default (i.e. warning and error messages in red).


Don't fail if the debian-branch does not match the currently checked out branach and push the current branch instead.


The branch in the Git repository the Debian package is being developed on.


Use this tag format when looking for tags corresponding to a Debian™ version. Default is debian/%(version)s.


The branch in the Git™ repository the upstream sources are put onto.


Use this tag format when looking for tags of upstream versions. Default is upstream/%(version)s.


Whether to update the pristine-tar branch too.


Pass the --dry-run to git push. So don't push anything, only check if things are pushable.


Several gbp.conf files are parsed to set defaults for the above command-line arguments. See the gbp.conf(5) manpage for details.


gbp-buildpackage(1), gbp-clone(1), gbp-pull(1), gbp.conf(5)


Guido Günther