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-6.8.1, Bazaar, Subversion-1.14.3, CVS, Perforce et Team
Foundation Server.
Ce paquet est connu pour pouvoir être construit et fonctionner
correctement avec une plateform 12.2.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://www.kernel.org/pub/software/scm/git/git-2.46.0.tar.xz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
2309cd803a02378380f24c50667d9bfb
-
Taille du téléchargement : 7,2 Mo
-
Estimation de l'espace disque requis : 441 Mo (avec
la documentation téléchargée, plus 19 Mo si vous
construisez la documentation, plus 21 Mo pour les tests)
-
Estimation du temps de construction : 0,3 SBU (avec
parallélisme = 4 ; plus 0,4 SBU pour construire la
documentation et jusqu'à 7 SBU pour les tests (en
fonction de la vitesse du disque))
Téléchargements supplémentaires
Dépendances de Git
Recommandées
cURL-8.9.1 (nécessaire pour utiliser Git par http, https, ftp ou ftps)
Facultatives
Apache-2.4.62 (pour certains tests), Fcron-3.2.1 (à
l'exécution, pour planifier les tâches de git maintenance), GnuPG-2.4.5 (à
l'exécution, peut être utilisé pour signer les commits ou les tags
Git, ou vérifier ces signatures),
OpenSSH-9.8p1 (à l'exécution, requis pour
utiliser Git via ssh), pcre2-10.44,
Subversion-1.14.3 avec les liaisons Perl (à
l'exécution, pour git
svn), Tk-8.6.14 (gitk, une visionneuse de dépôt
Git, utilise Tk à l'exécution), Valgrind-3.23.0,
Authen::SASL et
MIME::Base64 (tous deux
à l'exécution, pour git
send-email), et
IO-Socket-SSL-2.088 (à l'exécution,
pour que git
send-email se connecte à un serveur SMTP avec le
chiffrement SSL)
Facultatives (pour créer les pages de man, les docs html et les
autres docs)
xmlto-0.0.29 et asciidoc-10.2.1 et aussi dblatex (pour la
version PDF du manuel utilisateur) et docbook2x pour créer les
pages d'info
Installation de Git
Installez Git en exécutant les
commandes suivantes :
./configure --prefix=/usr \
--with-gitconfig=/etc/gitconfig \
--with-python=python3 &&
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-10.2.1 vous pouvez créer la version
html des pages de manuel et des autres docs :
make html
Si vous avez installé asciidoc-10.2.1 et xmlto-0.0.29 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 -k |& tee test.log. Si certains tests
échouent, la liste de tests échoués se trouve avec grep '^not ok' test.log | grep -v
TODO.
Maintenant, en tant qu'utilisateur root
:
make perllibdir=/usr/lib/perl5/5.40/site_perl 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.46.0 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.46.0.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.46.0 &&
tar -xf ../git-htmldocs-2.46.0.tar.xz \
-C /usr/share/doc/git-2.46.0 --no-same-owner --no-overwrite-dir &&
find /usr/share/doc/git-2.46.0 -type d -exec chmod 755 {} \; &&
find /usr/share/doc/git-2.46.0 -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.46.0/man-pages/{html,text} &&
mv /usr/share/doc/git-2.46.0/{git*.txt,man-pages/text} &&
mv /usr/share/doc/git-2.46.0/{git*.,index.,man-pages/}html &&
mkdir -vp /usr/share/doc/git-2.46.0/technical/{html,text} &&
mv /usr/share/doc/git-2.46.0/technical/{*.txt,text} &&
mv /usr/share/doc/git-2.46.0/technical/{*.,}html &&
mkdir -vp /usr/share/doc/git-2.46.0/howto/{html,text} &&
mv /usr/share/doc/git-2.46.0/howto/{*.txt,text} &&
mv /usr/share/doc/git-2.46.0/howto/{*.,}html &&
sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.46.0/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.46.0/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 au lieu de Python 2 en fin de vie. Python est utilisé
pour l'interface git
p4 pour les dépôt perforce, et aussi pour certains
tests.
--with-libpcre2
: utilisez ce
paramètre si PCRE2 est installé.
tar -xf ../git-manpages-2.46.0.tar.gz
-C /usr/share/man --no-same-owner : Cela va
déballer git-manpages-2.46.0.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.46.0
... : 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.