From 11d557fae98c2456d926250d85d819807ee64cf3 Mon Sep 17 00:00:00 2001 From: fdai7396 Date: Wed, 23 Nov 2022 19:43:51 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 5df368b..cc8a31a 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -92,3 +92,33 @@ # git-, efective, 4. Woche ## Lernziel3/Takeaway + Diese Woche haben wir gelernt, welche Vorteile Git hat. Mit Git hat man immer zugriff auf den neusten Stand des Programms, zu dem + kann man den jetzigen Stand mit den vorhärigen Ständen vergleichen. Ein weiter Vorteile wäre, dass man mit mehreren Personen arbeiten kann. + Mit Git kann man einfach lokale Kopien & Zip archives abspeichern. + SCM (Source Code Management) bietet zwei Möglichkeiten um Projekte zu bearbeiten. + Centralized: Ist online und jeder kann sofort die Commits sehen. Es kann jedoch nur einer an einem Branch arbeiten durch locking. + Man kann einfach Backups erstellen. Jedoch kann man aber nicht offline arbeiten. + Distributed: Jeder Entwickler hat hier seine eigene Version. Hier wird kein Server benötig und somit kann man auch ohne + Internet arbeiten. Jedoch gibt es zwei große Nachteile. Die Projekte sind nicht synchronisiert und es könnte zu kompatibilitäts + Problemen kommen. + Wenn man mit Git arbeitet sollte man die Commits kurz halten, um Problem früh zu erkennen. So sind auch Änderungen im Verlauf + leichter & schneller zu finden. + In Git gibt es verschiedene Branches, die das Projekt in verschiedene Sektoren unterteilen, wo dann die zugehörigen Mitarbeiter arbeiten. + Master: Der Branch Master geht an den Kunden und ist somit das fertige Produkt. Hat ein "Infinite lifetime" + Develop: Hier können die Entwickler fertige Features (Commits) mergen. Dieser Branch ist immer in einem "shippable state". + Release: Hier wird die Entwicklung pausiert und es wird sich nur auf Problembehebung fokusiert. + Hotfix: Hier werden nur noch Feinschliffe erledigt. + Feature: Hier werden neue Funktionen (Features) hinzugefügt. Hier kann jeder Entwickler dran arbeiten, aber es sollten + nur befugte dies tun. + Es gibt zwei arten um Commits zu machen + Rebase: Sollte man verwenden wenn man an nicht fertige Features arbeitet. + Falls man eine saubere Historie haben möchte + Merge: wenn der Branch Master oder Develop ist +### Erkenntnise/preception + Git ist eine sehr gute möglichkeit um Gruppenprojekte zu bearbeiten. Es hat viele Art & Weisen, Projekte zu + bearbeiten und man weis immer wer an was arbeitet. +#### Wiederholung/repetition + keep commits clean: Bevor man ein Commit merged/rebased sollte man: + 1.Den Commit testen auf Fehler + 2.Dann den Fehler beheben + 3.Und zu letzt implementieren