DOKK / manpages / debian 10 / git-buildpackage / gbp-pull.1.en
gbp-pull(1) git-buildpackage Manual gbp-pull(1)

gbp-pull - Safely update a repository from remote

gbp pull
[--version] [--help] [--verbose] [--color=[auto|on|off]] [--color-scheme= COLOR_SCHEME] [--force] [--all] [--redo-pq] [--[no-]pristine-tar] [--ignore-branch] [--debian-branch= branch_name] [--upstream-branch= branch_name] [--track-missing] [--depth= depth] [repository]

gbp pull updates the debian, upstream and pristine-tar branches from remote repositories in one go. It checks if the update is safe (would result in a fast-forward merge) and aborts otherwise.

If given on the command line the changes are fetched from the given repository otherwise the default for repository is read from the remote configuration for each branch (in git's configuration).

Print version of the program, i.e. version of the git-buildpackage suite
Verbose execution
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).
Force a branch update even if this results in a non fast forward update.

Forcing a branch update makes you lose your modifications.

Update all remote-tracking branches that have identical name in the remote repository.
Also rebuild the corresponding patch-queue using gbp pq.

This drops the patch-queue branch if it exists.

Don't care if we're on a branch or in detached head state.
The branch in the Git repository the Debian package is being developed on, default is master.
The branch in the Git repository the upstream sources are put onto. Default is upstream.
If a branch is missing in the local repository try to fetch it from the remote side and (if it exists) fetch it and set up branch tracking for it. This ensures that branches that are added at a later point to the remote side (e.g. pristine-tar) are picked up automatically. Note that it's not an error for the branch to not exist on the remote side.
Git history depth, for deepening shallow git clones.
Whether to update the pristine-tar branch too.

When gbp pull finishes, it indicates success or failure with its exit code:

An error occurred during the pull, see the printed error message for details.
At least one branch couldn't be fast forwarded.

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-pq(1), gbp.conf(5)

Guido Günther <>

21 March 2019