Git 🌙
Chapters â–Ÿ 2nd Edition

A3.5 Commandes Git - Partage et mise Ă  jour de projets

Partage et mise Ă  jour de projets

Il n’y a pas vraiment beaucoup de commandes dans Git qui accĂšdent au rĂ©seau ; presque toutes les commandes agissent sur la base de donnĂ©es locale. Quand vous ĂȘtes prĂȘt Ă  partager votre travail ou Ă  tirer les changements depuis ailleurs, il y a une poignĂ©e de commandes qui Ă©changent avec les dĂ©pĂŽts distants.

git fetch

La commande git fetch communique avec un dépÎt distant et rapporte toutes les informations qui sont dans ce dépÎt qui ne sont pas dans le vÎtre et les stocke dans votre base de données locale.

Nous voyons cette commande pour la premiĂšre fois dans RĂ©cupĂ©rer et tirer depuis des dĂ©pĂŽts distants et nous continuons Ă  voir des exemples d’utilisation dans Branches de suivi Ă  distance.

Nous l’utilisons aussi dans plusieurs exemples dans Contribution à un projet.

Nous l’utilisons pour aller chercher une seule rĂ©fĂ©rence spĂ©cifique qui est hors de l’espace par dĂ©faut dans RĂ©fĂ©rences aux requĂȘtes de tirage et nous voyons comment aller chercher depuis un paquet dans Empaquetage (bundling).

Nous dĂ©finissons des refspecs hautement personnalisĂ©es dans le but de faire faire Ă  git fetch quelque chose d’un peu diffĂ©rent que le comportement par dĂ©faut dans La refspec.

git pull

La commande git pull est essentiellement une combinaison des commandes git fetch et git merge, oĂč Git ira chercher les modifications depuis le dĂ©pĂŽt distant que vous spĂ©cifiez et essaie immĂ©diatement de les fusionner dans la branche dans laquelle vous vous trouvez.

Nous la présentons rapidement dans Récupérer et tirer depuis des dépÎts distants et montrons comment voir ce qui sera fusionné si vous la lancez dans Inspecter un dépÎt distant.

Nous voyons aussi comment s’en servir pour nous aider dans les difficultĂ©s du rebasage dans Rebaser quand vous rebasez.

Nous montrons comment s’en servir avec une URL pour tirer ponctuellement les modifications dans VĂ©rification des branches distantes.

Enfin, nous mentionnons trĂšs rapidement que vous pouvez utiliser l’option --verify-signatures dans le but de vĂ©rifier que les commits que vous tirez ont une signature GPG dans Signer des commits.

git push

La commande git push est utilisĂ©e pour communiquer avec un autre dĂ©pĂŽt, calculer ce que votre base de donnĂ©es locale a et que le dĂ©pĂŽt distant n’a pas, et ensuite pousser la diffĂ©rence dans l’autre dĂ©pĂŽt. Cela nĂ©cessite un droit d’écriture sur l’autre dĂ©pĂŽt et donc normalement de s’authentifier d’une maniĂšre ou d’une autre.

Nous voyons la commande git push pour la premiĂšre fois dans Pousser son travail sur un dĂ©pĂŽt distant. Ici nous couvrons les bases de la poussĂ©e de branche vers un dĂ©pĂŽt distant. Dans Pousser les branches, nous allons un peu plus loin dans la poussĂ©e de branches spĂ©cifiques et dans Suivre les branches nous voyons comment dĂ©finir des branches de suivi pour y pousser automatiquement. Dans Suppression de branches distantes, nous utilisons l’option --delete pour supprimer une branche sur le serveur avec git push.

Tout au long de Contribution Ă  un projet, nous voyons plusieurs exemples d’utilisation de git push pour partager du travail sur des branches Ă  travers de multiples dĂ©pĂŽts distants.

Nous voyons dans Partager les Ă©tiquettes comment s’en servir avec l’option --tags pour partager des Ă©tiquettes que vous avez faites.

Dans Publier les modifications dans un sous-module, nous utilisons l’option --recurse-submodules pour vĂ©rifier que tout le travail de nos sous-modules a Ă©tĂ© publiĂ© avant de pousser le super-projet, ce qui peut ĂȘtre vraiment utile quand on utilise des sous-modules.

Dans Autres crochets cĂŽtĂ© client, nous discutons briĂšvement du crochet pre-push, qui est un script que nous pouvons installer pour se lancer avant qu’une poussĂ©e ne s’achĂšve pour vĂ©rifier qu’elle devrait ĂȘtre autorisĂ©e Ă  pousser.

Enfin, dans Pousser des refspecs, nous considĂ©rons une poussĂ©e avec une refspec complĂšte au lieu des raccourcis gĂ©nĂ©raux qui sont normalement utilisĂ©s. Ceci peut vous aider Ă  ĂȘtre trĂšs spĂ©cifique sur le travail que vous dĂ©sirez partager.

git remote

La commande git remote est un outil de gestion pour votre base de dĂ©pĂŽts distants. Elle vous permet de sauvegarder de longues URLs en tant que raccourcis, comme « origin », pour que vous n’ayez pas Ă  les taper dans leur intĂ©gralitĂ© tout le temps. Vous pouvez en avoir plusieurs et la commande git remote est utilisĂ©e pour les ajouter, les modifier et les supprimer.

Cette commande est couverte en détail dans Travailler avec des dépÎts distants, y compris leur listage, ajout, suppression et renommage.

Elle est aussi utilisée dans presque tous les chapitres suivants du livre, mais toujours dans le format standard git remote add <nom> <URL>.

git archive

La commande git archive est utilisĂ©e pour crĂ©er un fichier d’archive d’un instantanĂ© spĂ©cifique du projet.

Nous utilisons git archive pour crĂ©er une archive d’un projet pour partage dans PrĂ©paration d’une publication.

git submodule

La commande git submodule est utilisĂ©e pour gĂ©rer des dĂ©pĂŽts externes Ă  l’intĂ©rieur de dĂ©pĂŽts normaux. Cela peut ĂȘtre pour des bibliothĂšques ou d’autres types de ressources partagĂ©es. La commande submodule a plusieurs sous-commandes (add, update, sync, etc) pour la gestion de ces ressources.

Cette commande est mentionnée et entiÚrement traitée uniquement dans Sous-modules.

scroll-to-top