-
Notifications
You must be signed in to change notification settings - Fork 4
Git Workflow
Bei Git ist es wichtig, dass wir alle das gleiche tun, um Chaos zu vermeiden. Bitte daran denken und bei Bedarf einfach nochmal hier reinschauen!
Unter Windows lädst du dir Git hier herunter und befolgst die Anweisungen. Unter macOS oder Linux musst du nichts tun.
Nun führst du folgendes aus: git clone https://github.com/ppati000/PSE. Danach hast du in deinem aktuellen Directory den neuen Ordner PSE. Fertig!
Beim Pflichtenheft haben wir uns geeinigt, diese auf Deutsch zu schreiben, da das Dokument auch auf Deutsch ist.
Bitte konventionell im Präsens ("Füge Kann-Kriterien hinzu" und nicht "Kann-Kriterien hinzugefügt").
Außerdem natürlich auf aussagekräftige Messages achten. (etwas wie "awsdadwadsaw" unbedingt vermeiden 🙂)
Bei Bedarf bitte Files und Directories in die .gitignore eintragen. Dazu zählen Sachen wie .idea, .settings, desktop.ini und andere Dateien, die nicht zum Code gehören.
Außerdem immer Windows Newlines (CRLF) verwenden 🙂
Am Ende jeder Datei sollte eine leere Zeile sein, sonst meckert GitHub rum.
Wenn du Änderungen machst, sollte das immer wie folgt ablaufen:
-
Du wechselst auf eine neue Branch mit
git checkout -b xx/<branch name>. Dabei steht fürxxfür deine Initialen oder irgendeine Buchstabenkombination, die sich nicht ändert und die dich erkennbar macht. -
Du schreibst die minimale Menge an Code, die nötig ist, damit deine Änderung vollständig ist. (Bitte keine riesigen commits, wenn nicht absolut notwendig)
-
Mit deinem IDE deine Änderungen nochmal prüfen. (In IntelliJ: Rechtsklick auf base directory -> Git -> Commit Directory... -> Diff Button oben links. Optional kann man danach direkt über das GUI committen. Ansonsten:)
-
git add -A -
git commit -m "Add new feature x" -
git push --set-upstream origin xx/<branch name> -
Auf die Repo Frontpage gehen und ein Pull Request erstellen
-
Auf mindestens 1 Code Review Approval warten
-
Ggf. Änderungen nach Code Review vornehmen, sonst weiter zu 14
-
Punkt 3 nochmal durchführen
-
git add -A -
git commit --amend(Um nicht 2 commits im PR zu haben) -
git push --force(Achtung, aufpassen mit force. Das überschreibt deine Remote Branch.) -
Nach Approval: Auf GitHub kleines Dreieck rechts neben dem großen Merge Button, dann auf Rebase and merge. Fertig!
Dann einfach git pull.
- Alle Änderungen committen (gegebenenfalls mit
--amend, falls schon ein neuer Commit existiert in deiner Branch) git checkout mastergit pullgit checkout <Name der Feature Branch>git rebase -i master- Den erscheinenden Texteditor schließen (je nach OS unterschiedlich)
- Luft anhalten
- Falls Merge Conflict, diesen lösen (am besten mit einem Tool) und dann
git rebase --continue. Ansonsten fertig.