Commit a5041b07 authored by Lukas Nagel's avatar Lukas Nagel
Browse files

write section about commit graph

parent 1088b95b
......@@ -3,7 +3,23 @@ title: Versions Kontrolle mit Git und GitHub
author: Lukas Nagel, (7126709)
date: IT Technologie Trends WS21/22
abstract: |
Oi mate, got stuff to do ay?
Lorem ipsum dolor sit amet, consectetuer adipi-
scing elit. Etiam lobortis facilisis sem. Nullam
nec mi et neque pharetra sollicitudin. Praesent
imperdiet mi nec ante. Donec ullamcorper, fe-
lis non sodales commodo, lectus velit ultrices
augue, a dignissim nibh lectus placerat pede.
Vivamus nunc nunc, molestie ut, ultricies vel,
semper in, velit. Ut porttitor. Praesent in sapien.
Lorem ipsum dolor sit amet, consectetuer adi-
piscing elit. Duis fringilla tristique neque. Sed
interdum libero ut metus. Pellentesque place-
rat. Nam rutrum augue a leo. Morbi sed elit sit
amet ante lobortis sollicitudin. Praesent blandit
blandit mauris. Praesent lectus tellus, aliquet
aliquam, luctus a, egestas a, turpis. Mauris la-
cinia lorem sit amet ipsum. Nunc quis urna
dictum turpis accumsan semper.
fontsize: 11pt
geometry:
- left=2.5cm
......@@ -52,9 +68,25 @@ Projektplanung sowie Dokumentation anbietet.
[^1]: [https://github.com/](https://github.com/)
## Beispiel
## TODO: Beispiel
Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consectetuer adipi-
scing elit. Etiam lobortis facilisis sem. Nullam
nec mi et neque pharetra sollicitudin. Praesent
imperdiet mi nec ante. Donec ullamcorper, fe-
lis non sodales commodo, lectus velit ultrices
augue, a dignissim nibh lectus placerat pede.
Vivamus nunc nunc, molestie ut, ultricies vel,
semper in, velit. Ut porttitor. Praesent in sapien.
Lorem ipsum dolor sit amet, consectetuer adi-
piscing elit. Duis fringilla tristique neque. Sed
interdum libero ut metus. Pellentesque place-
rat. Nam rutrum augue a leo. Morbi sed elit sit
amet ante lobortis sollicitudin. Praesent blandit
blandit mauris. Praesent lectus tellus, aliquet
aliquam, luctus a, egestas a, turpis. Mauris la-
cinia lorem sit amet ipsum. Nunc quis urna
dictum turpis accumsan semper.
# Vorgänger Technologien
......@@ -268,7 +300,7 @@ wobei die Vorgänger den Spitzen der zusammenzuführenden Zweige entsprechen
[@haenel2015, S. 50].
In @fig:objm ist der Zusammenhang der Objekt Arten mit der Verzeichnisstruktur
In Abbildung \ref{fig:objm} ist der Zusammenhang der Objekt Arten mit der Verzeichnisstruktur
schematisch dargestellt.
![Git Objektmodell](../grafiken/git-object.pdf){#fig:objm}
......@@ -302,6 +334,21 @@ des tree Objektes und der Vorgänger Commits gebildet.
Somit ergibt sich eine Kette kryptographischer Hashes, wodurch die *Integrität*
des Projektverzeichnisses und der gesamten Versionsgeschichte sicherstellt wird.
Dadurch das ein Commmit mehrere Vorgänger hat lässt sich die Versionsgeschichte
als gerichter Graph ohne Zyklen (*DAG*) betrachten.
In Abbildung \ref{fig:graph} ist ein solcher abgebildet.
Ein Zyklus ist theortisch nicht ausgeschlossen,
aber nur erschopfende Suche möglich, da wenn sich zwei Commits gegenseitig als
Vorgänger haben sollen, für den jeweiligen Hash der jeweils andere
Hash bereits bekannt sein müsste.
Die Knoten, wie in Abbildung \ref{fig:graph} zu sehen, entsprechen den Commits
und die Vorgänger Beziehung ist durch die Kanten ausgedrückt.
Zweige entsprechen in diesem Modell zeigern auf Commits.
Das verständniss vieler Operationen wird durch dieses Modell vereinfacht.
![Exemplarischer Versionsgraph](../grafiken/example-graph.pdf){#fig:graph}
## TODO: Index und Commits
## TODO: Branching und Tags
......@@ -312,7 +359,7 @@ des Projektverzeichnisses und der gesamten Versionsgeschichte sicherstellt wird.
## TODO: Automatisierung mittels Actions
## Technische Voraussetzungen
## TODO: Technische Voraussetzungen
* Textdateien, Problem mit binär Dateien
* Speicher Begrenzung von GitHub
......@@ -430,6 +477,7 @@ dass SSH und der Private Schlüssel verwenbdent werden[^6].
Die Einstellungen die zwingend zur Arbeit mit Git erforderlich sind
`user.name` und `user.email`.
# TODO: Fazit
# Literatur
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment