Git-2.28.0

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-5.4.2, Bazaar, Subversion-1.14.0, CVS, Perforce et Team Foundation Server.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-9.1.

Informations sur le paquet

  • Téléchargement (HTTP) : https://www.kernel.org/pub/software/scm/git/git-2.28.0.tar.xz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 5fde0206768ed70092d1fcc8f447251a

  • Taille du téléchargement : 5.8 Mo

  • Estimation de l'espace disque requis : 521 MB (with downloaded documentation, 196 MB installed)

  • Estimation du temps de construction : 0,4 SBU (avec parallélisme = 4 ; plus 2,7 SBU pour les tests avec parallélisme = 4)

Téléchargements supplémentaires

Dépendances de Git

Recommandées

Facultatives

pcre2-10.35 (ou le PCRE-8.44 obsolète), dans les deux cas configuré avec --enable-jit, Subversion-1.14.0 avec les liaisons Perl (pour git svn), Tk-8.6.10 (gitk, une simple visionneuse de dépôts Git utilise Tk au moment de l'exécution) et Valgrind-3.16.1

Facultatives (pour créer les pages de man, les docs html et les autres docs)

xmlto-0.0.28 et asciidoc-9.0.2 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 \
            --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-9.0.2 vous pouvez créer la version html des pages de manuel et des autres docs :

make html

Si vous avez installé asciidoc-9.0.2 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.28.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.28.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.28.0 &&
tar   -xf   ../git-htmldocs-2.28.0.tar.xz \
      -C    /usr/share/doc/git-2.28.0 --no-same-owner --no-overwrite-dir &&

find        /usr/share/doc/git-2.28.0 -type d -exec chmod 755 {} \; &&
find        /usr/share/doc/git-2.28.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.28.0/man-pages/{html,text}         &&
mv        /usr/share/doc/git-2.28.0/{git*.txt,man-pages/text}     &&
mv        /usr/share/doc/git-2.28.0/{git*.,index.,man-pages/}html &&

mkdir -vp /usr/share/doc/git-2.28.0/technical/{html,text}         &&
mv        /usr/share/doc/git-2.28.0/technical/{*.txt,text}        &&
mv        /usr/share/doc/git-2.28.0/technical/{*.,}html           &&

mkdir -vp /usr/share/doc/git-2.28.0/howto/{html,text}             &&
mv        /usr/share/doc/git-2.28.0/howto/{*.txt,text}            &&
mv        /usr/share/doc/git-2.28.0/howto/{*.,}html               &&

sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.28.0/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.28.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 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.28.0.tar.gz -C /usr/share/man --no-same-owner : Cela va déballer git-manpages-2.28.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.28.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.

Configurer Git

Fichiers de configuration

~/.gitconfig et /etc/gitconfig

Contenu

Programmes installés: git, git-receive-pack, git-upload-archive, and git-upload-pack (hardlinked to each other), git-cvsserver, git-shell, and gitk
Bibliothèques installées: Aucune
Répertoires installés: /usr/share/perl5/Git, /usr/libexec/git-core, and /usr/share/{doc/git-2.28.0,git-core,git-gui,gitk,gitweb}

Descriptions courtes

git

est un stupide pourchasseur de contenu.

git-cvsserver

est un émulateur de serveur CVS pour Git.

gitk

est un navigateur graphique de dépôt Git (exige Tk-8.6.10).

git-receive-pack

est appelé par git send-pack et met à jour le dépôt avec les informations issue du dépôt distant.

git-shell

est un shell de connexion pour que des comptes SSH donnent des accès Git restreints.

git-upload-archive

est appelé par git archive --remote et envoie une archive générée à l'autre bout du protocole git.

git-upload-pack

est appelé par git fetch-pack, il détecte les objets manquant à l'autre bout et il les envoie ensuite en paquets.

Last updated on 2020-07-28 17:26:39 +0000