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.1, Bazaar, Subversion-1.14.3, CVS, Perforce, og Team
Foundation Server.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
LFS 12.2 plattform.
Pakkeinformasjon
-
Nedlasting (HTTP):
https://www.kernel.org/pub/software/scm/git/git-2.46.0.tar.xz
-
Nedlasting MD5 sum: 2309cd803a02378380f24c50667d9bfb
-
Nedlastingsstørrelse: 7.2 MB
-
Estimert diskplass som kreves: 441 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 0,4
SBU for å bygge dokumenter, og opptil 7 SBU (avhengig av
diskhastighet) for tester)
Ytterligere Nedlastinger
Git Avhengigheter
Anbefalt
cURL-8.9.1 (nødvendig for å bruke Git over http, https, ftp eller ftps)
Valgfri
Apache-2.4.62 (for noen tester), Fcron-3.2.1
(kjøretid, for planlegging av git
maintenance jobber), GnuPG-2.4.5
(kjøretid, kan brukes til å signere Git utførelser eller tagger, eller verifisere
signaturene av dem), OpenSSH-9.8p1 (kjøretid, nødvendig for å
bruke Git over ssh), pcre2-10.44,
Subversion-1.14.3 med Perl bindinger
(kjøretid, for git
svn), Tk-8.6.14 (gitk, en enkel Git arkivvisningsprogram, bruker Tk ved kjøretid), Valgrind-3.23.0,
Authen::SASL og
MIME::Base64 (begge
kjøretid, for git
send-email), IO-Socket-SSL-2.088 (kjøretid, for
git send-email for å
koble til en SMTP server med SSL kryptering),
og Systemd-256.4 (kjøretid, gjenoppbygg med
Linux-PAM-1.6.1, for planlegging av
git maintenance
jobber)
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.46.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.46.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.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 {} \;
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.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
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.46.0.tar.gz
-C /usr/share/man --no-same-owner: Dette untarer
git-manpages-2.46.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.46.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.46.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.14)
|
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
|