Git-2.47.0

Introduksjon til Git

Git er en gratis og åpen kildekode, distribuert versjonskontrollsystem designet for å håndtere alt fra små til veldig store prosjekter med fart og effektivitet. Hver Git clone er et fullverdig depot med fullstendig historikk og full revisjonssporing, ikke avhengig av nettverkstilgang eller en sentral server. Forgrening og sammenslåing går raskt og er lett å gjøre. Git brukes til versjonskontroll av filer, omtrent som verktøy som f.eks Mercurial-6.8.2, Bazaar, Subversion-1.14.4, CVS, Perforce, og Team Foundation Server.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.kernel.org/pub/software/scm/git/git-2.47.0.tar.xz

  • Nedlasting MD5 sum: 93b7909a07743edccaaf2732f3e23797

  • Nedlastingsstørrelse: 7.3 MB

  • Estimert diskplass som kreves: 541 MB (med nedlastet dokumentasjon; legg til 19 MB for å bygge dokumenter; legg til 21 MB for tester)

  • Estimert byggetid: 0.3 SBU (med parallellitet=4; legg til 1.0 SBU for å bygge dokumenter, og opptil 7 SBU (avhengig av diskhastighet) for tester)

Ytterligere Nedlastinger

Git Avhengigheter

Anbefalt

Valgfri

Apache-2.4.62 (for noen tester), Fcron-3.2.1 (kjøretid, for planlegging av git maintenance jobber), GnuPG-2.4.6 (kjøretid, kan brukes til å signere Git utførelser eller tagger, eller verifisere signaturene av dem), OpenSSH-9.9p1 (kjøretid, nødvendig for å bruke Git over ssh), pcre2-10.44, Subversion-1.14.4 med Perl bindinger (kjøretid, for git svn), Tk-8.6.15 (gitk, en enkel Git arkivvisningsprogram, bruker Tk ved kjøretid), Valgrind-3.24.0, Authen::SASL og MIME::Base64 (begge kjøretid, for git send-email), og IO-Socket-SSL-2.089 (kjøretid, for git send-email for å koble til en SMTP server med SSL kryptering)

Valgfri (for å lage mansidene, html dokumenter og andre dokumenter)

xmlto-0.0.29 og asciidoc-10.2.1, og også dblatex (for PDF versjonen av brukerhåndboken), og docbook2x for å lage infosider

Installasjon av Git

Installer Git ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --with-gitconfig=/etc/gitconfig \
            --with-python=python3 &&
make

Du kan bygge mansidene og/eller html dokumentene, eller bruke nedlastede. Hvis du velger å bygge dem, bruk de to neste instruksjonene.

Hvis du har installert asciidoc-10.2.1 kan du lage html versjonen av mansidene og andre dokumenter:

make html

Hvis du har installert asciidoc-10.2.1 og xmlto-0.0.29 kan du lage mansidene:

make man

Testpakken kan kjøres i parallell modus. For å kjøre testpakken, kjør: make test -k |& tee test.log. Hvis noen tester mislykkes, kan listen over mislykkede tester vises via grep '^not ok' test.log | grep -v TODO.

Nå, som root bruker:

make perllibdir=/usr/lib/perl5/5.40/site_perl install

Hvis du opprettet mansidene og/eller html dokumentene

Installer mansidene som root bruker:

make install-man

Installer html dokumentene som root bruker:

make htmldir=/usr/share/doc/git-2.47.0 install-html

Hvis du lastet ned mansidene og/eller html dokumentene

Hvis du lastet ned mansidene, untar dem som root bruker:

tar -xf ../git-manpages-2.47.0.tar.xz \
    -C /usr/share/man --no-same-owner --no-overwrite-dir

Hvis du lastet ned html dokumentene, untar dem som root user:

mkdir -vp   /usr/share/doc/git-2.47.0 &&
tar   -xf   ../git-htmldocs-2.47.0.tar.xz \
      -C    /usr/share/doc/git-2.47.0 --no-same-owner --no-overwrite-dir &&

find        /usr/share/doc/git-2.47.0 -type d -exec chmod 755 {} \; &&
find        /usr/share/doc/git-2.47.0 -type f -exec chmod 644 {} \;

Omorganiser tekst og html i html dokumentene (begge metodene)

For begge metodene inkluderer html dokumentene mange vanlige tekstfiler. Omorganiser filene som root bruker:

mkdir -vp /usr/share/doc/git-2.47.0/man-pages/{html,text}         &&
mv        /usr/share/doc/git-2.47.0/{git*.txt,man-pages/text}     &&
mv        /usr/share/doc/git-2.47.0/{git*.,index.,man-pages/}html &&

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

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

sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.47.0/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.47.0/howto-index.txt

Parameterforklaringer

--with-gitconfig=/etc/gitconfig: Dette setter /etc/gitconfig er filen som lagrer standard innstillinger for Git for hele systemet.

--with-python=python3: Bruk denne bryteren for å bruke Python 3, i stedet for EOL Python 2. Python brukes til git p4 grensesnitt til Perforce repositories, og brukes også i noen tester.

--with-libpcre2: Bruk denne bryteren hvis PCRE2 er installert.

tar -xf ../git-manpages-2.47.0.tar.gz -C /usr/share/man --no-same-owner: Dette untarer git-manpages-2.47.0.tar.gz. -C alternativet gjør at tar endrer mappe til /usr/share/man før den begynner å dekomprimere dokumentene. --no-same-owner alternativet stopper tar fra å bevare bruker- og gruppedetaljene til filer. Dette er nyttig siden brukeren eller gruppen kanskje ikke eksisterer på ditt system; dette kan (potensielt) være en sikkerhetsrisiko.

mv /usr/share/doc/git-2.47.0 ...: Disse kommandoene flytter noen av filene til undermapper for å gjøre det enklere å sortere gjennom dokumentene og finn det du leter etter.

find ... chmod ...: Disse kommandoene korrigerer tillatelser i tar-filen for den sendte dokumentasjonen.

Configuring Git

Konfigurasjonsfiler

~/.gitconfig og /etc/gitconfig

Innhold

Installerte Programmer: git, git-receive-pack, git-upload-archive, og git-upload-pack (hardlenket til hver annen), git-cvsserver, git-shell, gitk, og scalar
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/libexec/git-core, /usr/lib/perl5/5.40/site_perl/Git, og /usr/share/{doc/git-2.47.0,git-core,git-gui,gitk,gitweb}

Korte Beskrivelser

git

er den dumme innholdssporeren

git-cvsserver

er en CVS serveremulator for Git

gitk

er en grafisk Git depotleser (trenger Tk-8.6.15)

git-receive-pack

påkalles av git send-pack og oppdaterer depoet med informasjonen matet fra den eksterne enden

git-shell

er et påloggingsskall for SSH kontoer for å gi begrenset Git adgang

git-upload-archive

påkalles av git archive --remote og sender et generert arkiv til den andre enden over git protokollen

git-upload-pack

påkalles av git fetch-pack, det oppdager hvilke objekter den andre siden mangler, og sender de etter pakking

scalar

er et lagringsadministrasjonsverktøy som optimerer Git for bruk i store depoter