Commit 4b72cd98 authored by Lukas Nagel's avatar Lukas Nagel
Browse files

write outlook section

parent c90159fc
Pipeline #143918 passed with stages
in 11 minutes
......@@ -32,6 +32,7 @@ header-includes: |
---
# Motivation
Während des Studiums fallen häufig Aufgaben an, bei denen es notwendig ist,
......@@ -313,7 +314,7 @@ wobei die Vorgänger den Spitzen der zusammenzuführenden Zweige entsprechen
[@haenel2015, S. 50].
In Abbildung \ref ist der Zusammenhang der Objektarten mit der
In Abbildung \ref{fig:objm} ist der Zusammenhang der Objektarten mit der
Verzeichnisstruktur schematisch dargestellt.
![Git Objektmodell](../grafiken/git-object.pdf){#fig:objm}
......@@ -544,7 +545,7 @@ Als Betriebssystem stehen Ubuntu, macOS und Windows zur
Verfügung.
## Technische Voraussetzungen
# Technische Voraussetzungen
Theoretisch gibt es keine Beschränkung,
welche Dateien versioniert werden können.
......@@ -579,7 +580,7 @@ Für Projekte, die auf GitHub veröffentlicht werden sollen, gibt es weiterhin d
Einschränkung, dass höchstens 100\ MB pro Push Operation übertragen werden dürfen.
## Offene Enden
# Offene Enden
Der Befehlssatz ist ,,unusually rich"[^7] und besonders für Anfänger nicht
intuitiv.
......@@ -616,6 +617,52 @@ erforderlich, sodass Spoofing trivial ist.
[^7]: https://git.kernel.org/pub/scm/git/git.git/tree/README.md
# Ausblick
Die hier vorgestellten Eigenschaften von Git und GitHub, sind für viele weitere
Technologien von Vorteil.
Im Folgenden soll kurz beschrieben werden,
wie Git und GitHub mit anderen Technologien,
die im Rahmen dieser Veranstaltung vorgestellt werden,
verwendet werden kann.
Docker Container können nicht nur von Projekten genutzt werden,
um eine Umgebung bereitzustellen,
die unabhängig vom Betriebssystem und installierten Paketen ist,
sondern können auch mithilfe von Git und GitHub entwickelt werden.
Da Container durch ein Dockerfile beschrieben werden, kann dies mit Git
unter Versionskontrolle gestellt werden und der Entwickler profitiert so von
Nachvollziehbarkeit, Wiederherstellbarkeit und Integrität.
Auf GitHub kann dieses dann veröffentlicht werden
und mit GitHub Actions kann automatisch ein Image erstellt
und auf eine Container-Registry hochgeladen werden.
Dabei profitiert man auch von Features wie etwa dem Issue-Tracker und Wiki,
sowie der Möglichkeit, mehrere Entwickler zu koordinieren.
Das Ausführen mehrerer Container mit Kubernetes,
kann mit einem Ansatz, wie dem von GitOps[^9],
mithilfe von Git gesteuert werden.
Die Konfiguration wird mit Git versioniert und kann über GitHub allen
Beteiligten zur Verfügung gestellt werden.
Ein Controller führt die notwendigen Kubernetes-Operationen aus,
damit der Cluster mit der Konfiguration übereinstimmt.
Fehlerhafte Deployments sind auf diese Weise einfach zurückzunehmen,
indem das Repository auf die letzte funktionsfähige Version zurückgesetzt wird.
Auch können durch Verzweigung potenzielle Änderungen zunächst auf Testsystemen
ausprobiert und entwickelt werden, sodass Fehler frühzeitig erkannt werden.
Bei Ethereum Smart-Contracts werden Programme nur als kompilierter Byte-Code
in der Blockchain abgelegt.
Daher ist es schwer auf das Verhalten zu schließen und Metadaten wie
Kommentare und Dokumentation gehen verloren.
Legt man den Code und etwaige Dokumentation in einem GitHub Repository ab,
kann man dem Smart-Contract den Commit-Hash beilegen.
Durch den in Git verwendeten Integritätsmechanismus ist sichergestellt,
dass wenn die Hashwerte übereinstimmen, auch die Repositorys übereinstimmen.
[^9]: https://cloudogu.com/de/glossar/gitops/
# Nutzungshinweise
## Installation
......@@ -753,5 +800,7 @@ werden können und mit der die Zusammenarbeit erleichtert wird.
Weiterhin stellt GitHub eine grafische Oberfläche zur Verfügung
und sorgt für vereinheitlichte Arbeitsabläufe.
\onecolumn
# Literatur
......@@ -69,7 +69,7 @@
urldate={2021-10-30},
}
@inproceedings{silve2020,
@inproceedings{silva2020,
author={Silva, Leuson Da and Borba, Paulo and Mahmood, Wardah and Berger, Thorsten and Moisakis, João},
booktitle={2020 IEEE International Conference on Software Maintenance and Evolution (ICSME)},
title={Detecting Semantic Conflicts via Automated Behavior Change Detection},
......@@ -79,3 +79,8 @@
pages={174-184},
doi={10.1109/ICSME46990.2020.00026}
}
@online{devsurvey,
url={https://insights.stackoverflow.com/survey/2018#work-_-version-control},
urldate={2021-10-30},
}
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