Warum Git (Unterschiede Centralized vs. distributed SCM)
Konzept von Git
#### Warum Git so sicher ist: permanenter Zugang zu den letzten Ständen.
Vergleich mit verschiedenen Versionen
einfache Methoden
#### SCM: optimal für minimale Disk Nutzung
notierte Veränderungen
einfache Navigation
automatisierte Merges
#### centralized vs. distributed SCM
centralized: Geschichte ist auf dem zentralen Netzwerk vorhanden. Entwickler arbeiten mit der Kopie.
distributed: Jeder Entwickler hat eigen Geschichte.
#### Der Konzept: basiert auf Sets und nicht auf Files
Commits gesichert durch SHA
Staging Bereich
#### Keep commits small: Erlaubt Git die Konflichte automatisch selbst zu lösen
Erlaubt es dir die Konflichte manuell zu lösen.
Einfacher zu "cherry pick"
Detailisierte Dokumentation
Veränderungen sind einfacher in der History zu finden.
#### Keep commits clean: commiete wenn Projekt compiliert wurde und alle Tests erfolgreich abgeschlossen wurden.
#### Branching:
##### Master: infinite lifetime, dedicated responsible committer,spawns from initial commit, each commit references a shipping event, commits are tagged
with version number, no direct commits, only merges (--no-ff) from release or fix branch allowed.
Develop: infinite lifetime, first commit is start of project (initial commit), is always in shippable state. (compiles, all (automated) test pass), every developer can commit a shipping ready feature (but should be done by a build server)
### Erkenntnis
### Erkenntnis
#### Wir haben heute die Konzepte und Funktionsweise von Git kennengelernt. Ausserdem habe ich erfahren welche Vorsätze wichtig sind um es effektiv mit dem Git zu arbeiten. In der Praktischen Stunde haben wir versucht die das angeeignete Wissen anzuwenden. Dabei haben wir die folgende Git-Kommanden verwendent. git init, git add, git commit, git push, git checkout, git remote, git fetch, git clone, git status...