Introduction à Git
Git est un système de contrôle de
versions distribué librement et open-source, conçu pour gérer du
plus petit au plus gros projet rapidement et efficacement. Chaque
clonage Git est un dépôt complet
avec l'historique et les possibilités de poursuite des révisions,
indépendamment de l'accès réseau ou d'un serveur central. Le
système de branches et de synchronisation est rapide et facile à
utiliser. Git est utilisé pour le
contrôle de la version de fichiers, un peu comme de nombreux outils
comme Mercurial-4.9, Bazaar, Subversion-1.11.1, CVS, Perforce et Team
Foundation Server.
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-8.4.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://www.kernel.org/pub/software/scm/git/git-2.20.1.tar.xz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
5fb4ff92b56ce3172b99c1c74c046c1a
-
Taille du téléchargement : 5.1 Mo
-
Estimation de l'espace disque requis : 275 Mo (avec la
documentation téléchargée)
-
Estimation du temps de construction : 0.3 SBU (avec
parallélisme = 4 ; plus 5.4 SBU pour les tests)
Téléchargements supplémentaires
Dépendances de Git
Recommandées
cURL-7.64.0 (nécessaire pour utiliser
Git par http, https, ftp ou ftps)
Facultatives
pcre2-10.32 (ou le PCRE-8.42 obsolète), dans les deux cas
configuré avec --enable-jit
, Python-2.7.15,
Subversion-1.11.1 avec les liaisons Perl
(pour git svn),
Tk-8.6.9 (gitk,
une simple visionneuse de dépôts Git utilise Tk au moment de l'exécution) et Valgrind-3.14.0
Facultatives (pour créer les pages de man, les docs html et les
autres docs)
xmlto-0.0.28 et asciidoc-8.6.9 ou
AsciiDoctor, et
aussi dblatex (pour la version PDF
du manuel utilisateur) et docbook2x pour créer les
pages info
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/git
Installation de Git
Installez Git en lançant les
commandes suivantes :
./configure --prefix=/usr --with-gitconfig=/etc/gitconfig &&
make
Vous pouvez construire les pages de manuel ou les docs html, ou
utiliser les versions téléchargées. Si vous choisissez de les
construire, utilisez les deux instructions suivantes.
Si vous avez installé asciidoc-8.6.9 vous pouvez créer la version
html des pages de manuel et des autres docs :
make html
Si vous avez installé asciidoc-8.6.9 et xmlto-0.0.28 vous
pouvez créer les pages de man :
make man
La suite de tests peut être lancée en parallèle. Pour lancer la
suite de tests, lancez : make
test. Si vous la lancez en tant qu'utilisateur
normal, 0 tests devraient être rapporté comme échoué dans le résumé
final.
Maintenant, en tant qu'utilisateur root
:
make install
Si vous créez les pages de man ou les docs html
Installez les pages de manuel en tant qu'utilisateur root
:
make install-man
Installez les docs html en tant qu'utilisateur root
:
make htmldir=/usr/share/doc/git-2.20.1 install-html
Si vous avez téléchargé les pages de man ou les docs html
Si vous avez téléchargé les pages de manuel déballez les en tant
qu'utilisateur root
:
tar -xf ../git-manpages-2.20.1.tar.xz \
-C /usr/share/man --no-same-owner --no-overwrite-dir
Si vous avez téléchargé les documentations HTML déballez les en
tant qu'utilisateur root
:
mkdir -vp /usr/share/doc/git-2.20.1 &&
tar -xf ../git-htmldocs-2.20.1.tar.xz \
-C /usr/share/doc/git-2.20.1 --no-same-owner --no-overwrite-dir &&
find /usr/share/doc/git-2.20.1 -type d -exec chmod 755 {} \; &&
find /usr/share/doc/git-2.20.1 -type f -exec chmod 644 {} \;
Réorganisez les versions texte et html dans html-docs (pour les
deux méthodes)
Pour les deux méthodes, html-docs inclut beaucoup de fichiers en
texte brut. Réorganisez les fichiers, en tant qu'utilisateur
root
:
mkdir -vp /usr/share/doc/git-2.20.1/man-pages/{html,text} &&
mv /usr/share/doc/git-2.20.1/{git*.txt,man-pages/text} &&
mv /usr/share/doc/git-2.20.1/{git*.,index.,man-pages/}html &&
mkdir -vp /usr/share/doc/git-2.20.1/technical/{html,text} &&
mv /usr/share/doc/git-2.20.1/technical/{*.txt,text} &&
mv /usr/share/doc/git-2.20.1/technical/{*.,}html &&
mkdir -vp /usr/share/doc/git-2.20.1/howto/{html,text} &&
mv /usr/share/doc/git-2.20.1/howto/{*.txt,text} &&
mv /usr/share/doc/git-2.20.1/howto/{*.,}html &&
sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.20.1/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.20.1/howto-index.txt
Explication des commandes
--with-gitconfig=/etc/gitconfig
:
cela initialise /etc/gitconfig
comme
le fichier où sont enregistrées les valeurs par défaut de
Git au niveau du système.
--with-python=python3
: Utilisez
ce paramètre pour permettre l'utilisation de Python 3. Python n'est utilisé que pour l'interface
git p4 pour les dépôt
perforce.
--with-libpcre2
: Utilisez cette
option si PCRE2 est installé et a
été construit avec l'option JIT activée.
--with-libpcre
: Plutôt que PCRE2,
utilisez ce paramètre si l'obsèlete PCRE est installé et que vous l'avez construit
avec l'option JIT.
tar -xf ../git-manpages-2.20.1.tar.gz
-C /usr/share/man --no-same-owner : Cela va
déballer git-manpages-2.20.1.tar.gz
.
L'option -C
fait que tar change de
répertoire pour /usr/share/man
avant
de commencer à décompresser les docs. L'option --no-same-owner
arrête tar pour préserver les
informations d'utilisateur et de groupe des fichiers. Cela est
utile quand l'utilisateur ou le groupe n'existe pas sur votre
système; Cela peut être (potentiellement) une faille de sécurité.
mv /usr/share/doc/git-2.20.1
... : Ces commandes déplacent certains des
fichiers dans des sous-répertoires pour rendre plus facile le tri
des docs et trouver plus facilement ce que vous cherchez.
find ... chmod
... : Ces commandes corrigent les permissions
dans les fichiers tar de la documentation fournie.