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. Comme cette commande peut écraser les modifications, il est préférable de ne l’exécuter qu’en ciblant une branche vide.

Domaine Internet pas cher

Bien plus qu'un simple domaine !

Personnalisez votre présence en ligne avec un nom de domaine pertinent.

Email
Certificat SSL
Assistance 24/7

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, 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 télécharger. Voici à quoi cela ressemble :

git push <depot-distant> <branche-locale></branche-locale></depot-distant>

Git crée une branche locale 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 main

La 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> --all</depot-distant>

Cette 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> --tags</depot-distant>

Cette 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> --force</depot-distant>

Cette 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 vide

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 vides. Il suffit de les créer avec l’argument « --bare ». Si vous faites un Git Push dans un dépôt vide, le travail et les modifications des autres développeurs ne seront pas affectés, ni la structure du dépôt distant.

Écraser des branches avec Git Push

Git Push peut aussi être utilisé pour supprimer une branche locale à distance. La commande ressemble alors à ceci :

git branch -d ancienne-branche
git push origin :ancienne-branche

Cette commande efface la branche « ancienne-branche » du dépôt distant.

Conseil

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 !