Menu
CoddyTech

Git Push

Dernière mise à jour

git push envoie les commits de votre branche locale vers son équivalent distant (comme GitHub). Une fois qu'une branche a un upstream défini, un simple git push suffit ; le premier push d'une nouvelle branche utilise -u pour créer la branche distante et configurer le suivi, afin que les push et pull suivants ne nécessitent aucun argument.

Essayez ces commandes dans le terminal playground - un vrai shell dans votre navigateur, rien à installer.

git push envoie vos nouveaux commits locaux vers la branche distante.

Syntaxe

CommandWhat it does
git pushPousse la branche actuelle vers son upstream
git push -u origin featurePousse une nouvelle branche et définit l'upstream
git push origin mainPousse vers un dépôt distant et une branche précis
git push --tagsPousse tous les tags locaux
git push --force-with-leaseForce push sécurisé après un rebase

Cas courants

GoalCommand
Pousser une toute nouvelle branchegit push -u origin feature
Pousser après avoir défini l'upstreamgit push
Pousser un seul taggit push origin v1.0.0
Supprimer une branche distantegit push origin --delete feature

Exemple pas à pas

ÉtapeCommandeRésultat
1git remote add origin <url>Relie le dépôt local au dépôt distant sous le nom origin
2git push -u origin mainCrée main sur le dépôt distant et la définit comme upstream de votre main locale
3git pushChaque push suivant sur main se fait sans argument

FAQ git push

Que fait git push ?
Il envoie les commits que votre branche locale possède et que la branche distante n'a pas, puis avance la branche distante pour qu'elle corresponde. Il n'envoie que des commits : les modifications non commitées restent sur votre machine, alors commitez d'abord. Si le dépôt distant contient des commits que vous n'avez pas, le push est refusé jusqu'à ce que vous fassiez un pull ou un rebase.
Comment pousser une nouvelle branche vers le dépôt distant ?
Exécutez git push -u origin <branch>. Le -u (abréviation de --set-upstream) crée la branche sur le dépôt distant et y relie votre branche locale, de sorte qu'ensuite un simple git push et git pull fonctionnent sans argument. La branche distante n'existe pas avant ce premier push.
Pourquoi git push affiche-t-il 'no upstream branch' ?
Votre branche locale n'est pas encore reliée à une branche distante. Poussez-la avec git push -u origin <branch> pour créer la branche distante et définir l'upstream. Après cela, git push seul sait où envoyer les commits.
Comment pousser des tags ?
Les tags ne sont pas poussés par défaut. Poussez un seul tag avec git push origin <tagname>, ou poussez-les tous d'un coup avec git push --tags. C'est un piège courant - un tag que vous avez créé localement n'apparaîtra pas sur le dépôt distant tant que vous ne l'aurez pas poussé explicitement.
Comment faire un force push en toute sécurité ?
Après avoir réécrit l'historique (un rebase ou un amend), utilisez git push --force-with-lease plutôt que --force. Il n'écrase le dépôt distant que si personne d'autre n'a poussé depuis votre dernier fetch, protégeant ainsi le travail de vos coéquipiers. Consultez la page git force push pour l'explication complète.
Que signifie git push -u origin main ?
origin est le dépôt distant (voir git remote), main est la branche, et -u définit cette branche distante comme upstream de votre main locale. C'est la commande que GitHub affiche pour un nouveau dépôt : une fois qu'elle a été exécutée, git push et git pull sur main n'ont plus besoin d'arguments.
Quelle est la différence entre git push et git pull ?
Ils déplacent les commits dans des sens opposés. git push envoie vos commits locaux vers le dépôt distant ; git pull télécharge les nouveaux commits du dépôt distant et les fusionne dans votre branche. Un push refusé comme non fast-forward signifie en général qu'il faut d'abord faire un pull. Consultez git fetch vs pull pour voir ce que fait pull en coulisses.
Puis-je m'entraîner en ligne ?
Oui. Ouvrez le terminal playground pour exécuter git push dans un vrai shell dans votre navigateur - rien à installer. Le cours Git interactif et gratuit de Coddy couvre également le travail avec les dépôts distants étape par étape.
Illustration des langages de programmation de Coddy

Apprenez Git avec Coddy

COMMENCER