|
|
@ -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 |