Section courante

A propos

Section administrative du site

git push

Empiler
Git

Syntaxe

git push [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=git-receive-pack] [--repo=repository] [-f | --force] [-d | --delete] [--prune] [-v | --verbose] [-u | --set-upstream] [-o string | --push-option=string] [--[no-]signed|--signed=(true|false|if-asked)] [--force-with-lease[=refname[:expect]] [--force-if-includes]] [--no-verify] [repository [refspec...]]

Paramètres

Nom Description
repository Ce paramètre permet d'indiquer le dépôt à distance étant la destination d'une opération push. Ce paramètre peut être soit une URL soit le nom à distance.
refspec Ce paramètre permet d'indiquer la référence de destination à mettre à jour avec quel objet source. Le format d'un paramètre refspec est un signe plus + facultatif, suivi de l'objet source src, suivi de deux points «:», suivi de la référence de destination dst. Le paramètre src est souvent le nom de la branche que vous voudriez pousser, mais il peut s'agir de n'importe quelle "SHA-1 expression" arbitraire, telle que master~4 ou HEAD. Le dst indique quelle référence du côté à distance est mise à jour avec ce push. Les expressions arbitraires ne peuvent pas être utilisées ici, une référence réelle doit être nommée. Si «git push [repository]» sans aucun paramètre refspec est défini pour mettre à jour une référence à la destination avec src avec la variable de configuration «remote.repository.push», la partie dst peut être omise - une telle push mettra à jour une référence que src met normalement à jour sans refspec sur la ligne de commande. Sinon, s'il manquant dst, alors cela signifie de mettre à jour la même référence que src.
--all Ce paramètre permet de pousser toutes les branches (c'est-à-dire les références sous refs/heads/); ne peut pas être utilisé avec d'autres refspec.
-d Ce paramètre permet d'indiquer que toutes les références répertoriées sont supprimées du dépôt à distance. C'est la même chose que de préfixer toutes les références par deux points.
--delete Ce paramètre permet d'indiquer que toutes les références répertoriées sont supprimées du dépôt à distance. C'est la même chose que de préfixer toutes les références par deux points.
--dry-run Ce paramètre permet de faire tout les opérations sauf envoyer les mises à jour.
--exec=git-receive-pack Ce paramètre permet d'indiquer le chemin vers le programme git receive-pack sur l'extrémité distante. Parfois utile lors du transfert vers un dépôt à distance via ssh, et vous n'avez pas le programme dans un répertoire sur le $PATH par défaut.
--follow-tags Ce paramètre permet de pousser toutes les refs étant poussées sans ce paramètre, et de pousser également les balises annotées dans les refs/tags manquant à distance mais pointant vers des commit-ish étant accessibles à partir des refs poussés. Il peut également être spécifié avec la variable de configuration push.followTags.
--mirror Ce paramètre permet d'effectuer un miroir. Au lieu de nommer chaque ref à pousser, spécifie que toutes les références sous refs/ (incluant, mais sans s'y limiter, refs/heads/, refs/remotes/ et refs/tags/) soient mises en miroir dans le dépôt à distance. Les références locales nouvellement créées seront poussées vers l'extrémité à distance, les références mises à jour localement seront mises à jour de force sur l'extrémité à distance et les références supprimées seront supprimées de l'extrémité à distance. Il s'agit de la valeur par défaut si le paramètre de configuration «remote.remote.mirror» est définie.
-n Ce paramètre permet de faire tout les opérations sauf envoyer les mises à jour.
--[no-]atomic Ce paramètre permet d'utiliser une transaction atomique du côté à distance si disponible. Soit toutes les références sont mises à jour, soit en cas d'erreur, aucune référence n'est mise à jour. Si le serveur ne prend pas en charge les poussées atomiques, la diffusion échouera.
--[no-]signed Ce paramètre permet d'indiquer le GPG-sign de la requête push pour mettre à jour les références du côté de la réception, pour lui permettre d'être vérifiée par les hooks et/ou d'être un journal de bord. Si false ou --no-signed, aucune signature ne sera tentée. Si true ou --signed, le push échouera si le serveur ne prend pas en charge les push signés. S'il est défini sur if-asked, signez si et seulement si le serveur prend en charge les envois de messages signés. Le push échouera également si l'appel réel à gpg --sign échoue.
-o option Ce paramètre permet de transmettre la chaîne de caractères donnée au serveur, les transmettant au hook de pré-réception et de post-réception. La chaîne de caractères donnée ne doit pas contenir de caractère NUL ou LF. Lorsque plusieurs «--push-option=option» sont donnés, ils sont tous envoyés de l'autre côté dans l'ordre indiqué sur la ligne de commande. Quand aucune --push-option=option n'est donnée à partir de la ligne de commande, les valeurs de la variable de configuration push.pushOption sont utilisées à la place.
--porcelain Ce paramètre permet de produire une sortie lisible par machine. La ligne d'état de sortie pour chaque référence sera séparée par des tabulations et envoyée à stdout au lieu de stderr. Les noms symboliques complets des références seront donnés.
--prune Ce paramètre permet de supprimer les branches à distances n'ayant pas d'homologue local. Par exemple, une branche à distance tmp sera supprimée si une branche locale portant le même nom n'existe plus. Elle respecte également les refspecs, par exemple git push --prune remote refs/heads/*:refs/tmp/* s'assurerait que les refs/tmp/foo à distances seront supprimés si refs/heads/foo n'existe pas.
--push-option=option Ce paramètre permet de transmettre la chaîne de caractères donnée au serveur, les transmettant au hook de pré-réception et de post-réception. La chaîne de caractères donnée ne doit pas contenir de caractère NUL ou LF. Lorsque plusieurs «--push-option=option» sont donnés, ils sont tous envoyés de l'autre côté dans l'ordre indiqué sur la ligne de commande. Quand aucune --push-option=option n'est donnée à partir de la ligne de commande, les valeurs de la variable de configuration push.pushOption sont utilisées à la place.
--receive-pack=git-receive-pack Ce paramètre permet d'indiquer le chemin vers le programme git receive-pack sur l'extrémité distante. Parfois utile lors du transfert vers un dépôt à distance via ssh, et vous n'avez pas le programme dans un répertoire sur le $PATH par défaut.
--signed=(true|false|if-asked) Ce paramètre permet d'indiquer le GPG-sign de la requête push pour mettre à jour les références du côté de la réception, pour lui permettre d'être vérifiée par les hooks et/ou d'être un journal de bord. Si false ou --no-signed, aucune signature ne sera tentée. Si true ou --signed, le push échouera si le serveur ne prend pas en charge les push signés. S'il est défini sur if-asked, signez si et seulement si le serveur prend en charge les envois de messages signés. Le push échouera également si l'appel réel à gpg --sign échoue.
--tags Ce paramètre permet d'indiquer tous les refs sous refs/tags sont poussés, en plus des refspecs explicitement listés sur la ligne de commande.
... ...

Description

Cette commande permet de mettre à jour les références distantes avec les objets associés.

Remarques

Exemples

L'exemple suivant fonctionne comme «git push remote», où remote est à distance pour la branche actuelle (ou origin, si aucun à distance n'est configuré pour la branche actuelle) :

git push

L'exemple suivant, sans configuration supplémentaire, pousse la branche actuelle vers l'amont configuré (variable de configuration remote.origin.merge) si elle a le même nom que la branche actuelle, et les erreurs sortent sans pousser autrement. Le comportement par défaut de cette commande quand aucune refspec n'est donnée peut être configuré en définissant le paramètre push à distance ou la variable de configuration push.default. Par exemple, pour pousser par défaut uniquement la branche actuelle vers l'origine, utilisez git config remote.origin.push HEAD.

git push origin


Dernière mise à jour : Mardi, le 5 Janvier 2021