diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 8fef993..ab3179c 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -227,13 +227,58 @@ ### Lernziele + #### SCM (Source Code Managment) + 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 + #### 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... + ### Wiederholung + keine + ### Kritik + keine + ### Mitteilung an die Dozierenden + keine