gbp-pull(1)

πŸ’… gbp-pull β€” like, the manual page bestie

okay so this is gbp-pull(1), part of the git-buildpackage Manual, and it's genuinely one of the most useful lil commands in the whole suite. sit down, get a snack, we're doing this πŸ“


✨ NAME ✨

gbp-pull β€” update a Git repository from a remote, but like, aware of the packaging branch tracking that needs to happen. she knows things. πŸ‘‘


🌸 SYNOPSIS 🌸

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]

πŸ¦‹ DESCRIPTION πŸ¦‹

so gbp pull updates the debian, upstream and pristine-tar branches from remote repositories in one single go. no cap, all three at once, main character energy fr fr ✨

and the way that it's safe?? it checks whether the update would result in a fast-forward merge first, and if it wouldn't, it aborts. it's giving protective bestie. it will not let you do something cursed to your history without you literally asking for it. πŸ’–

if you give a repository on the command line, the changes are fetched from that repository. if you don't? then repository defaults to whatever the remote configuration says for each branch (read from git's configuration). iykyk. πŸŽ€


πŸ’… OPTIONS πŸ’…

  • --version β€” prints the version of the program, aka the version of the git-buildpackage suite. cute little identity check. πŸͺͺ
  • -v, --verbose β€” verbose execution. she will tell you everything. 🌈
  • -h, --help β€” prints help and exits. the classic escape hatch. πŸšͺ
  • --color=[auto|on|off] β€” whether to use colored output or not. bestie, pick on. obviously. πŸ’–
  • --color-scheme=COLOR_SCHEME β€” the colors to use in the output (only matters when color is enabled). the format for COLOR_SCHEME is '<debug>:<info>:<warning>:<error>'. numerical values and color names are both accepted, and an empty field means "use the default color for this one". for example, --git-color-scheme='cyan:34::' would show debug messages in cyan, info messages in blue, and the other messages in default β€” which means warning and error messages show up in red. aesthetic customization, we love to see it. 🎨
  • --force β€” forces a branch update even if that results in a non fast forward update. ⚠️ warning: forcing a branch update makes you lose your modifications. no take-backs, no undo, gone. πŸ’€
genuinely though, this one eats your changes. like rm -rf but with feelings.
  • --all β€” updates all remote-tracking branches that have an identical name in the remote repository. all of them. the whole squad. πŸ‘―
  • --redo-pq β€” also rebuilds the corresponding patch-queue using gbp pq. ⚠️ warning: this drops the patch-queue branch if it exists. bye bestie 😭
  • --ignore-branch β€” don't care whether we're on a branch or in detached head state. she's unbothered. unshakeable. πŸ™ˆ
  • --debian-branch=branch_name β€” the branch in the Git repository where the Debian package is being developed. default is master.
  • --upstream-branch=branch_name β€” the branch in the Git repository where the upstream sources are put onto. default is upstream.
  • --track-missing β€” 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 makes sure that branches added later on the remote side β€” think pristine-tar β€” get picked up automatically. note that it's not an error for the branch to not exist on the remote side. it's just a vibe check, not a crisis. ✨
  • --depth=depth β€” git history depth, for deepening shallow git clones. digging deeper, literally. ⛏️
  • --pristine-tar β€” whether to update the pristine-tar branch too. 🫢

πŸ’€ EXIT CODES πŸ’€

when gbp pull finishes, it tells you success or failure through its exit code. the receipts, basically:

  • 0 β€” success. slay. πŸŽ‰
  • 1 β€” an error occurred during the pull. check the printed error message for the details. 😭
  • 2 β€” at least one branch couldn't be fast forwarded. oof. πŸ™ˆ

πŸŽ€ CONFIGURATION FILES πŸŽ€

several gbp.conf files get parsed to set defaults for all the command-line arguments above. go read the gbp.conf(5) manpage for the deets, bestie. πŸ“–


πŸ‘‘ SEE ALSO πŸ‘‘

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


🌈 AUTHOR 🌈

Guido GΓΌnther <agx@sigxcpu.org> β€” the icon who wrote this. thank you for your service. πŸ’œ


okay and for the sign-off: this page is dated 26 May 2026, it's gbp-pull(1) from the git-buildpackage manual, so that's the source and version right there. take care of your branches, never --force unless you mean it, and hydrate!! πŸ’–βœ¨πŸ¦‹πŸŽ€
πŸ“¦ where this page comes from