-
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.