Pro Git

Scott Chacon



1. Démarrage rapide
1.1. À propos de la gestion de version
1.1.1. Les systèmes de gestion de version locaux
1.1.2. Les systèmes de gestion de version centralisés
1.1.3. Les systèmes de gestion de version distribués
1.2. Une rapide histoire de Git
1.3. Rudiments de Git
1.3.1. Des instantanés, pas des différences
1.3.2. Presque toutes les opérations sont locales
1.3.3. Git gère l'intégrité
1.3.4. Généralement, Git ne fait qu'ajouter des données
1.3.5. Les trois états
1.4. Installation de Git
1.4.1. Installation depuis les sources
1.4.2. Installation sur Linux
1.4.3. Installation sur Mac
1.4.4. Installation sur Windows
1.5. Paramétrage à la première utilisation de Git
1.5.1. Votre identité
1.5.2. Votre éditeur de texte
1.5.3. Votre outil de différences
1.5.4. Vérifier vos paramètres
1.6. Obtenir de l'aide
1.7. Résumé
2. Les bases de Git
2.1. Démarrer un dépôt Git
2.1.1. Initialisation d'un dépôt Git dans un répertoire existant
2.1.2. Cloner un dépôt existant
2.2. Enregistrer des modifications dans le dépôt
2.2.1. Vérifier l'état des fichiers
2.2.2. Placer de nouveaux fichiers sous suivi de version
2.2.3. Indexer des fichiers modifiés
2.2.4. Ignorer des fichiers
2.2.5. Inspecter les modifications indexées et non indexées
2.2.6. Valider vos modifications
2.2.7. Éliminer la phase d'indexation
2.2.8. Effacer des fichiers
2.2.9. Déplacer des fichiers
2.3. Visualiser l'historique des validations
2.3.1. Limiter la longueur de l'historique
2.3.2. Utiliser une interface graphique pour visualiser l'historique
2.4. Annuler des actions
2.4.1. Modifier le dernier commit
2.4.2. Désindexer un fichier déjà indexé
2.4.3. Réinitialiser un fichier modifié
2.5. Travailler avec des dépôts distants
2.5.1. Afficher les dépôts distants
2.5.2. Ajouter des dépôts distants
2.5.3. Récupérer et tirer depuis des dépôts distants
2.5.4. Pousser son travail sur un dépôt distant
2.5.5. Inspecter un dépôt distant
2.5.6. Retirer et déplacer des branches distantes
2.6. Balisage
2.6.1. Lister vos balises
2.6.2. Créer des balises
2.6.3. Les balises annotées
2.6.4. Les balises signées
2.6.5. Les balises légères
2.6.6. Vérifier des balises
2.6.7. Baliser après coup
2.6.8. Partager les balises
2.7. Trucs et astuces
2.7.1. Auto-Complétion
2.7.2. Les alias Git
2.8. Résumé
3. Les branches avec Git
3.1. Ce qu'est une branche
3.2. Brancher et fusionner - les bases
3.2.1. Le branchement de base
3.2.2. Les bases de la fusion
3.2.3. Conflits de fusion
3.3. Gestion de branches
3.4. Travailler avec les branches
3.4.1. Branches au long-cours###
3.4.2. Topic Branches
3.5. Remote Branches
3.5.1. Pushing
3.5.2. Tracking Branches
3.5.3. Deleting Remote Branches
3.6. Rebasing
3.6.1. The Basic Rebase
3.6.2. More Interesting Rebases
3.6.3. The Perils of Rebasing
3.7. Summary
4. Git sur le serveur
4.1. Les protocoles
4.1.1. Le protocole local
4.1.2. Le protocole SSH
4.1.3. Le protocole Git
4.1.4. Le protocole HTTP/S
4.2. Installer Git sur un serveur
4.2.1. Placer le dépôt nu sur un serveur
4.2.2. Les petites installations
4.3. Génération des clefs publiques SSH
4.4. Mise en place du serveur
4.5. Accès public
4.6. GitWeb
4.7. Gitosis
4.8. Le daemon Git
4.9. Git hébergé
4.9.1. GitHub
4.9.2. Créer un compte utilisateur
4.9.3. Création d'un nouveau dépôt
4.9.4. Import depuis Subversion
4.9.5. Ajouter des collaborateurs
4.9.6. Votre projet
4.9.7. Dupliquer des projets
4.9.8. Résumé sur GitHub
4.10. Résumé
5. Git distribué
5.1. Développements distribués
5.1.1. Gestion centralisée
5.1.2. Le mode du gestionnaire d'intégration
5.1.3. Le mode dictateur et ses lieutenants
5.2. Contribuer à un projet
5.2.1. Guides pour une validation
5.2.2. Cas d'une petite équipe privée
5.2.3. Équipe privée importante
5.2.4. Petit projet public
5.2.5. Grand projet public
5.2.6. Résumé
5.3. Maintenir un projet
5.3.1. Travailler dans des branches thématiques
5.3.2. Appliquer des patchs à partir d'e-mail
5.3.3. Vérifier des branches distantes
5.3.4. Déterminer les modifications introduites
5.3.5. Intégrer les contributions
5.3.6. Baliser vos publications
5.3.7. Générer un nom de révision
5.3.8. Préparer une publication
5.3.9. Le Shortlog
5.4. Résumé
6. Git Tools
6.1. Revision Selection
6.1.1. Single Revisions
6.1.2. Short SHA
6.1.3. A SHORT NOTE ABOUT SHA–1
6.1.4. Branch References
6.1.5. RefLog Shortnames
6.1.6. Ancestry References
6.1.7. Commit Ranges
6.2. Interactive Staging
6.2.1. Staging and Unstaging Files
6.2.2. Staging Patches
6.3. Stashing
6.3.1. Stashing Your Work
6.3.2. Creating a Branch from a Stash
6.4. Rewriting History
6.4.1. Changing the Last Commit
6.4.2. Changing Multiple Commit Messages
6.4.3. Reordering Commits
6.4.4. Squashing a Commit
6.4.5. Splitting a Commit
6.4.6. The Nuclear Option: filter-branch
6.5. Debugging with Git
6.5.1. File Annotation
6.5.2. Binary Search
6.6. Submodules
6.6.1. Starting with Submodules
6.6.2. Cloning a Project with Submodules
6.6.3. Superprojects
6.6.4. Issues with Submodules
6.7. Subtree Merging
6.8. Summary
7. Customizing Git
7.1. Git Configuration
7.1.1. Basic Client Configuration
7.1.2. Colors in Git
7.1.3. External Merge and Diff Tools
7.1.4. Formatting and Whitespace
7.1.5. Server Configuration
7.2. Git Attributes
7.2.1. Binary Files
7.2.2. Keyword Expansion
7.2.3. Exporting Your Repository
7.2.4. Merge Strategies
7.3. Git Hooks
7.3.1. Installing a Hook
7.3.2. Client-Side Hooks
7.3.3. Server-Side Hooks
7.4. An Example Git-Enforced Policy
7.4.1. Server-Side Hook
7.4.2. Client-Side Hooks
7.5. Summary
8. Git et les autres systèmes
8.1. Git et Subversion
8.1.1. git svn
8.1.2. Installation
8.1.3. Démarrage
8.1.4. Valider en retour sur le serveur Subversion
8.1.5. Tirer des modifications
8.1.6. Le problème avec les branches Git
8.1.7. Les embranchements dans Subversion
8.1.8. Basculer de branche active
8.1.9. Les commandes Subversion
8.1.10. Résumé sur Git-Svn
8.2. Migrer sur Git
8.2.1. Importer
8.2.2. Subversion
8.2.3. Perforce
8.2.4. A Custom Importer
8.3. Summary
9. Les trippes de Git
9.1. Plomberie et porcelaine
9.2. Git Objects ##???
9.2.1. Objets Arbre ###???
9.2.2. Objets Commit
9.2.3. Stockage des objets
9.3. Références Git
9.3.1. The HEAD
9.3.2. Tags
9.3.3. Remotes???
9.4. Packfiles ##/* fichier compact???*/
9.5. The Refspec
9.5.1. Publier une Refspecs
9.5.2. Supprimer des références
9.6. Protocoles de transfert
9.6.1. Le protocole stupide
9.6.2. The Smart Protocol
9.7. Maintenance and Data Recovery
9.7.1. Maintenance
9.7.2. Data Recovery
9.7.3. Removing Objects
9.8. Summary
n
Next Page
p
Previos Page
h
Book Home
u
Go Up One Level
?
Press ? for Help
esc
Hide Help
Your Ad Here