- 
  
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
 
 
4.7 Git sur le serveur - GitWeb
GitWeb
Après avoir réglé les accès de base en lecture/écriture et en lecture seule pour vos projets, vous souhaiterez peut-être mettre en place une interface web simple de visualisation. Git fournit un script CGI appelé GitWeb qui est souvent utilisé à cette fin.
Si vous souhaitez vérifier à quoi GitWeb ressemblerait pour votre projet, Git fournit une commande pour démarrer une instance temporaire de serveur si vous avez un serveur léger tel que lighttpd ou webrick sur votre système.
Sur les machines Linux, lighttpd est souvent pré-installé et vous devriez pouvoir le démarrer en tapant git instaweb dans votre répertoire de travail.
Si vous utilisez un Mac, Ruby est installé de base avec Léopard, donc webrick est une meilleure option.
Pour démarrer instaweb avec un gestionnaire autre que lighttpd, vous pouvez le lancer avec l’option --httpd.
$ git instaweb --httpd=webrick
[2009-02-21 10:02:21] INFO  WEBrick 1.3.1
[2009-02-21 10:02:21] INFO  ruby 1.8.6 (2008-03-03) [universal-darwin9.0]
Cette commande démarre un serveur HTTP sur le port 1234 et lance automatiquement un navigateur Internet qui ouvre la page d’accueil.
C’est vraiment très simple.
Pour arrêter le serveur, il suffit de lancer la même commande, mais avec l’option --stop :
$ git instaweb --httpd=webrick --stop
Si vous souhaitez fournir l’interface web en permanence sur le serveur pour votre équipe ou pour un projet opensource que vous hébergez, il sera nécessaire d’installer le script CGI pour qu’il soit appelé par votre serveur web.
Quelques distributions Linux ont un package gitweb qu’il suffira d’installer via apt ou dnf, ce qui est une possibilité.
Nous détaillerons tout de même rapidement l’installation manuelle de GitWeb.
Premièrement, le code source de Git qui fournit GitWeb est nécessaire pour pouvoir générer un script CGI personnalisé :
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/opt/git" prefix=/usr gitweb
    SUBDIR gitweb
    SUBDIR ../
make[2]: `GIT-VERSION-FILE' is up to date.
    GEN gitweb.cgi
    GEN static/gitweb.js
$ sudo cp -Rf gitweb /var/www/
Notez que vous devez indiquer où trouver les dépôts Git au moyen de la variable GITWEB_PROJECTROOT.
Maintenant, il faut paramétrer dans Apache l’utilisation de CGI pour ce script, en spécifiant un nouveau VirtualHost :
<VirtualHost *:80>
    ServerName gitserver
    DocumentRoot /var/www/gitweb
    <Directory /var/www/gitweb>
        Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
        AllowOverride All
        order allow,deny
        Allow from all
        AddHandler cgi-script cgi
        DirectoryIndex gitweb.cgi
    </Directory>
</VirtualHost>
Une fois de plus, GitWeb peut être géré par tout serveur web capable de prendre en charge CGI ou Perl.
La mise en place ne devrait pas être plus difficile avec un autre serveur.
Après redémarrage du serveur, vous devriez être capable de visiter https://gitserveur/ pour visualiser vos dépôts en ligne.