Man page - git-send-pack(1)
Packages contas this manual
- git-fsmonitor--daemon(1)
- git(1)
- gitprotocol-v2(5)
- gitweb(1)
- git-repack(1)
- git-reset(1)
- git-fetch-pack(1)
- git-daemon(1)
- git-subtree(1)
- git-fmt-merge-msg(1)
- git-diff-index(1)
- git-pack-redundant(1)
- git-ls-remote(1)
- git-mktree(1)
- git-count-objects(1)
- gitformat-commit-graph(5)
- git-worktree(1)
- git-verify-commit(1)
- gitmailmap(5)
- gitformat-bundle(5)
- gitcli(7)
- git-mailinfo(1)
- git-tag(1)
- git-remote(1)
- git-symbolic-ref(1)
- scalar(1)
- git-patch-id(1)
- git-interpret-trailers(1)
- git-init-db(1)
- gitremote-helpers(7)
- git-maintenance(1)
- git-mergetool(1)
- git-stage(1)
- git-diff-files(1)
- git-shortlog(1)
- git-submodule(1)
- git-cat-file(1)
- git-am(1)
- git-check-mailmap(1)
- git-add(1)
- git-write-tree(1)
- git-pack-objects(1)
- git-version(1)
- git-receive-pack(1)
- git-verify-tag(1)
- git-reflog(1)
- gitcredentials(7)
- gitrepository-layout(5)
- git-send-pack(1)
- gitignore(5)
- git-merge-file(1)
- git-http-push(1)
- git-credential-cache--daemon(1)
- git-merge-index(1)
- git-get-tar-commit-id(1)
- git-merge-one-file(1)
- git-remote-ext(1)
- git-blame(1)
- git-fetch(1)
- git-prune(1)
- git-bisect(1)
- git-replace(1)
- gitformat-chunk(5)
- gitglossary(7)
- git-show(1)
- git-rm(1)
- git-commit(1)
- gitcore-tutorial(7)
- git-merge(1)
- gitformat-pack(5)
- git-fsck(1)
- gitworkflows(7)
- git-name-rev(1)
- git-diagnose(1)
- git-log(1)
- git-whatchanged(1)
- git-check-attr(1)
- git-refs(1)
- git-gc(1)
- git-unpack-file(1)
- git-mailsplit(1)
- git-switch(1)
- git-sparse-checkout(1)
- git-multi-pack-index(1)
- gitprotocol-pack(5)
- git-init(1)
- git-rev-parse(1)
- git-merge-tree(1)
- gittutorial(7)
- git-request-pull(1)
- git-check-ref-format(1)
- git-mv(1)
- git-rev-list(1)
- git-bugreport(1)
- git-mktag(1)
- git-sh-i18n--envsubst(1)
- git-range-diff(1)
- git-notes(1)
- git-checkout-index(1)
- git-show-branch(1)
- gitprotocol-http(5)
- git-sh-setup(1)
- gitweb.conf(5)
- gitnamespaces(7)
- git-grep(1)
- gittutorial-2(7)
- git-fsck-objects(1)
- giteveryday(7)
- git-config(1)
- git-prune-packed(1)
- git-help(1)
- git-apply(1)
- git-fast-import(1)
- gitprotocol-capabilities(5)
- git-mergetool--lib(1)
- git-diff-tree(1)
- git-instaweb(1)
- git-difftool(1)
- git-pack-refs(1)
- git-restore(1)
- gitsubmodules(7)
- git-annotate(1)
- gitattributes(5)
- git-credential-store(1)
- git-ls-files(1)
- git-var(1)
- git-remote-fd(1)
- gitformat-index(5)
- gitrevisions(7)
- git-unpack-objects(1)
- git-diff(1)
- git-commit-tree(1)
- git-for-each-repo(1)
- git-web--browse(1)
- git-update-index(1)
- gitpacking(7)
- git-imap-send(1)
- git-show-ref(1)
- git-replay(1)
- git-for-each-ref(1)
- git-http-fetch(1)
- gitprotocol-common(5)
- git-cherry(1)
- git-merge-base(1)
- git-fast-export(1)
- git-column(1)
- git-upload-pack(1)
- gitfaq(7)
- git-stash(1)
- gitmodules(5)
- git-push(1)
- git-cherry-pick(1)
- gitformat-signature(5)
- git-verify-pack(1)
- githooks(5)
- git-hook(1)
- git-pull(1)
- git-http-backend(1)
- git-filter-branch(1)
- git-stripspace(1)
- git-rebase(1)
- git-revert(1)
- git-show-index(1)
- git-branch(1)
- git-quiltimport(1)
- gitdiffcore(7)
- gitcvs-migration(7)
- git-checkout(1)
- git-upload-archive(1)
- git-check-ignore(1)
- git-shell(1)
- git-update-server-info(1)
- git-bundle(1)
- git-hash-object(1)
- git-clone(1)
- git-commit-graph(1)
- git-update-ref(1)
- git-status(1)
- git-describe(1)
- git-sh-i18n(1)
- git-archive(1)
- git-clean(1)
- git-read-tree(1)
- git-rerere(1)
- git-index-pack(1)
- git-credential-cache(1)
- git-credential(1)
- git-format-patch(1)
- git-ls-tree(1)
apt-get install git-man
Manual
| GIT-SEND-PACK(1) | Git Manual | GIT-SEND-PACK(1) |
NAME
git-send-pack - Push objects over Git protocol to another repository
SYNOPSIS
git send-pack [--mirror] [--dry-run] [--force]
[--receive-pack=<git-receive-pack>]
[--verbose] [--thin] [--atomic]
[--[no-]signed | --signed=(true|false|if-asked)]
[<host>:]<directory> (--all | <ref>...)
DESCRIPTION
Usually you would want to use git push, which is a higher-level wrapper of this command, instead. See git-push(1).
Invokes git-receive-pack on a possibly remote repository, and updates it from the current repository, sending named refs.
OPTIONS
--receive-pack=<git-receive-pack>
--exec=<git-receive-pack>
--all
--stdin
If --stateless-rpc is specified together with this option then the list of refs must be in packet format (pkt-line). Each ref must be in a separate packet, and the list must end with a flush packet.
--dry-run
--force
--verbose
--thin
--atomic
--[no-]signed, --signed=(true|false|if-asked)
--push-option=<string>
<host>
<directory>
<ref>...
SPECIFYING THE REFS
There are three ways to specify which refs to update on the remote end.
With the --all flag, all refs that exist locally are transferred to the remote side. You cannot specify any <ref> if you use this flag.
Without --all and without any <ref>, the heads that exist both on the local side and on the remote side are updated.
When one or more <ref> are specified explicitly (whether on the command line or via --stdin), it can be either a single pattern, or a pair of such patterns separated by a colon ":" (this means that a ref name cannot have a colon in it). A single pattern <name> is just shorthand for <name>:<name>.
Each pattern pair consists of the source side (before the colon) and the destination side (after the colon). The ref to be pushed is determined by finding a match that matches the source side, and where it is pushed is determined by using the destination side. The rules used to match a ref are the same rules used by git rev-parse to resolve a symbolic ref name. See git-rev-parse(1).
Without --force, the <src> ref is stored at the remote only if <dst> does not exist, or <dst> is a proper subset (i.e. an ancestor) of <src>. This check, known as the "fast-forward check", is performed to avoid accidentally overwriting the remote ref and losing other people’s commits from there.
With --force, the fast-forward check is disabled for all refs.
Optionally, a <ref> parameter can be prefixed with a plus + sign to disable the fast-forward check only on that ref.
GIT
Part of the git(1) suite
| 07/30/2025 | Git 2.47.3 |