Dopolni začetek

This commit is contained in:
Vuk, Martin 2025-12-23 15:10:59 +01:00
parent b5b185c240
commit a510ca843f
2 changed files with 2316 additions and 2084 deletions

File diff suppressed because it is too large Load diff

View file

@ -18,11 +18,17 @@ kako stvari delujejo.
#note[Git hrani vsebino direktorija z datotekami in celotno zgodovino sprememb.
Zgodovina sprememb se hrani v obliki posnetkov celotne vsebine v določenih trenutkih.]
== Git repozitorij
Git repozitorij je direktorij v katerem je poddirektorij `.git`, ki vsebuje vso zgodovino sprememb in ostale podatke, ki jih git potrebuje.
== Vnos: posnetek stanja
Osnovna enota v Gitu je *Vnos* (angl. *commit*). Vnos je posnetek stanja zabeleženih datotek v trenutku,
Osnovna enota v Gitu je *vnos* (angl. *commit*). Vnos je posnetek stanja zabeleženih datotek v trenutku,
ko je bil ustvarjen. Poleg vsebine datotek vsak vnos vsebuje še metapodatke o avtorju, datumu vnosa in opisom
sprememb. Vsakemu vnosu je prirejena *zgoščena vrednost vnosa*, ki je 40-mestna heksadecimalna vrednost,
izračunana s SHA-1, in je natanko določena z vsebino shranjenih datotek in metapodatkov vnosa.
#note[Glavna razlika med gitom in predhodnimi sistemi za upravljanje različic je, da git ne hrani _sprememb_ pač pa celotne _posnetke stanja_ v določenih trenutkih (glej #link("https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F")[Kaj je Git?]).]
Vnose in vsebino datotek hrani Git v #link("https://git-scm.com/book/en/v2/Git-Internals-Git-Objects")[skladišču objektov].
Do objektov v skladišču lahko dostopamo, če poznamo njihovo _zgoščeno vrednost_. Objekti, ki jih Git hrani v skladišču
so *vnosi*, *posnetki direktorijev* in *posnetki posameznih datotek*.
@ -58,8 +64,8 @@ posamezen objekt v Gitu preprosto zgoščena vrednost(angl. hash) vsebine tega o
vsebina objekta določena z njegovo zgoščeno vrednostjo. To pomeni, da lahko enostavno preverimo verodostojnost vsebine, ki je shranjena v Gitu. Git hrani skladišče objektov v direktoriju `.git/objects`.
]
== Zgodovinski graf sprememb
Posamezni vnosi so povezani v *usmerjen acikličen graf (DAG)*, ki predstavlja zgodovino sprememb.
Vsak *vnos* je *vozlišče* v grafu. Vsak vnos izhaja iz enega ali več starševskih vnosov. Izjema je prvi vnos.
Posamezni vnosi so povezani v *usmerjen acikličen graf* (angl. kratica *DAG*), ki ponazarja zgodovino sprememb.
Vsak *vnos* je *vozlišče* v grafu in izhaja iz enega ali več starševskih vnosov. Izjema je prvi vnos.
*Povezave* v grafu povezujejo vnose z njihovimi starši.
#figure(