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.
Syntaxe
| Command | What it does |
|---|---|
git push | Pousse la branche actuelle vers son upstream |
git push -u origin feature | Pousse une nouvelle branche et définit l'upstream |
git push origin main | Pousse vers un dépôt distant et une branche précis |
git push --tags | Pousse tous les tags locaux |
git push --force-with-lease | Force push sécurisé après un rebase |
Cas courants
| Goal | Command |
|---|---|
| Pousser une toute nouvelle branche | git push -u origin feature |
| Pousser après avoir défini l'upstream | git push |
| Pousser un seul tag | git push origin v1.0.0 |
| Supprimer une branche distante | git push origin --delete feature |
Exemple pas à pas
| Étape | Commande | Résultat |
|---|---|---|
| 1 | git remote add origin <url> | Relie le dépôt local au dépôt distant sous le nom origin |
| 2 | git push -u origin main | Crée main sur le dépôt distant et la définit comme upstream de votre main locale |
| 3 | git push | Chaque 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.