-
1. DĂ©marrage rapide
-
2. Les bases de Git
-
3. Les branches avec Git
-
4. Git sur le serveur
- 4.1 Protocoles
- 4.2 Installation de Git sur un serveur
- 4.3 Génération des clés publiques SSH
- 4.4 Mise en place du serveur
- 4.5 DĂ©mon (Daemon) Git
- 4.6 HTTP intelligent
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Git hébergé
- 4.10 Résumé
-
5. Git distribué
-
6. GitHub
-
7. Utilitaires Git
- 7.1 SĂ©lection des versions
- 7.2 Indexation interactive
- 7.3 Remisage et nettoyage
- 7.4 Signer votre travail
- 7.5 Recherche
- 7.6 RĂ©Ă©crire lâhistorique
- 7.7 Reset démystifié
- 7.8 Fusion avancée
- 7.9 Rerere
- 7.10 DĂ©boguer avec Git
- 7.11 Sous-modules
- 7.12 Empaquetage (bundling)
- 7.13 Replace
- 7.14 Stockage des identifiants
- 7.15 Résumé
-
8. Personnalisation de Git
- 8.1 Configuration de Git
- 8.2 Attributs Git
- 8.3 Crochets Git
- 8.4 Exemple de politique gérée par Git
- 8.5 Résumé
-
9. Git et les autres systĂšmes
- 9.1 Git comme client
- 9.2 Migration vers Git
- 9.3 Résumé
-
10. Les tripes de Git
- 10.1 Plomberie et porcelaine
- 10.2 Les objets de Git
- 10.3 Références Git
- 10.4 Fichiers groupés
- 10.5 La refspec
- 10.6 Les protocoles de transfert
- 10.7 Maintenance et récupération de données
- 10.8 Les variables dâenvironnement
- 10.9 Résumé
-
A1. Annexe A: Git dans dâautres environnements
- A1.1 Interfaces graphiques
- A1.2 Git dans Visual Studio
- A1.3 Git dans Visual Studio Code
- A1.4 Git dans IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git dans Sublime Text
- A1.6 Git dans Bash
- A1.7 Git dans Zsh
- A1.8 Git dans PowerShell
- A1.9 Résumé
-
A2. Annexe B: Embarquer Git dans vos applications
- A2.1 Git en ligne de commande
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Commandes Git
- A3.1 Installation et configuration
- A3.2 Obtention et création des projets
- A3.3 Capture dâinstantanĂ© basique
- A3.4 Création de branches et fusion
- A3.5 Partage et mise Ă jour de projets
- A3.6 Inspection et comparaison
- A3.7 DĂ©bogage
- A3.8 Patchs
- A3.9 Courriel
- A3.10 SystĂšmes externes
- A3.11 Administration
- A3.12 Commandes de plomberie
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.