Git
Chapters ▾ 2nd Edition

A3.5 Appendix C: 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 distantes.

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.