Git Push : charger les modifications dans le dépôt central
La commande Git Push ajoute les contenus d’un dépôt local vers un dépôt central. Par défaut, Git n’autorise que les push qui n’écrasent aucun commit dans le dépôt cible. Si vous contournez cette protection avec l’option « --force », vous risquez de perdre les modifications d’autres personnes.
Demandez, créez et recherchez en toute sécurité et sans limite de discussion avec IONOS GPT : l'alternative souveraine et abordable à ChatGPT et autres assistants conversationnels.
Git Push, c’est quoi ?
Le logiciel Git permet de travailler à plusieurs sur des projets de développement, tranquillement et sans risque pour chacun des membres de l’équipe de codage. Ceci est rendu possible grâce à l’utilisation de dépôts individuels locaux. Une fois terminées, les modifications peuvent être intégrées à l’ensemble du projet avec la commande Git Push. Celle-ci permet d’ajouter les contenus de votre dépôt local dans un dépôt distant, auquel les autres développeurs ont eux aussi accès. Git Push est donc une commande très importante dans le déroulement du projet.
La commande fonctionne comme le pendant des commandes Git Fetch ou Git Pull. Alors que ces dernières font glisser des contenus d’un dépôt distant vers votre dépôt local, Git Push va dans l’autre sens. Ces commandes automatisent de nombreuses étapes de travail en simultané (c’est notamment l’une des différences entre Git et SVN). Une fois les modifications apportées, il suffit de les ajouter au dépôt distant. Attention : notez bien que Git Push peut écraser d’autres modifications lorsqu’il est utilisé avec l’option « --force », la commande doit donc être utilisée avec précaution.
Syntaxe et fonctionnement de Git Push
La syntaxe de Git Push est simple : tout d’abord, vous écrivez la commande elle-même, puis vous indiquez le dépôt distant et enfin la branche locale que vous souhaitez envoyer. Voici à quoi cela ressemble :
git push <depot-distant> <branche-locale>bashGit crée ou met à jour la branche correspondante dans le dépôt-cible et y ajoute tous les contenus, les commits et les objets internes. Le logiciel de contrôle de versions inclut toutefois une fonction de protection qui bloque le Git Push si jamais le chargement ne pouvait pas se faire en fast-forward merge (fusion rapide). Cette fonctionnalité évite que la commande n’efface par mégarde les commits.
Exemple de Git Push
L’exemple suivant montre à quoi ressemble un Git Push dans la pratique. Pour cela, supposons que vous avez apporté des modifications dans votre dépôt local, que vous les avez intégralement testées et que celles-ci sont approuvées. L’étape suivante consiste à préparer ces modifications pour le dépôt distant afin que les autres membres de l’équipe puissent eux aussi y accéder. Pour cela, on utilise différentes commandes qui restent toujours à portée de main grâce à la très pratique Git Cheat Sheet avec PDF à télécharger.
git checkout main
git fetch origin main
git rebase -i origin/main
# Squash commits, fix up commit messages etc.
git push origin mainbashLa commande Git Checkout permet de basculer sur la branche principale. Git Fetch s’assure que l’état du dépôt local correspond à celui du dépôt central. La commande Git Rebase fusionne l’état du dépôt central avec celui du dépôt local. Il est ainsi possible d’effectuer ensuite une fast-forward merge puisque les bases des dépôts central et local sont identiques. Enfin, il suffit d’exécuter Git Push qui transmet l’état actuel, avec toutes ses modifications, au dépôt central.
Autres options de la commande
En plus de la commande standard dont la syntaxe est détaillée ci-dessus, Git Push peut se construire avec différents arguments.
Ajouter toutes les branches
git push <depot-distant> --allbashCette commande rappelle la syntaxe standard, simplement au lieu d’ajouter une branche sélectionnée elle ajoute directement toutes les branches locales au dépôt central. Ainsi, pas besoin de répéter la procédure pour chacune des branches.
Ajouter des étiquettes
git push <depot-distant> --tagsbashCette option permet d’envoyer toutes les étiquettes locales vers le dépôt distant. Un Git Push ordinaire ne prend pas en compte les étiquettes (ou tags).
Forcer le Git Push
git push <depot-distant> --forcebashCette commande ressemble aussi à la syntaxe standard, mais elle permet de forcer le Git Push même lorsque la fast-forward merge n’est pas possible. Comme cela augmente le risque d’écraser certaines modifications et d’engendrer des erreurs, mieux vaut éviter de l’utiliser.
Git Push vers un dépôt bare
Pour s’assurer que les projets importants restent intacts suite à un Git Push, il est recommandé de ne faire la commande que dans des dépôts bare. Vous les créez avec git init --bare ou git clone --bare. Un dépôt bare ne possède pas de répertoire de travail dans lequel quelqu’un travaille directement : un push ne risque donc pas d’y altérer des fichiers extraits. C’est pourquoi, par défaut, Git refuse un push vers la branche extraite d’un dépôt qui possède un répertoire de travail.
Supprimer des branches avec Git Push
Git Push peut aussi être utilisé pour supprimer une branche en local et à distance. La commande ressemble alors à ceci :
git branch -d ancienne-branche
git push origin :ancienne-branchebashCette commande efface la branche « ancienne-branche » du dépôt distant.
Mettez en ligne vos sites Web et applications en trois étapes seulement ! Avec Deploy Now de IONOS, profitez d’une installation rapide avec un système évolutif. Testez Deploy Now pendant un mois, c’est gratuit !

