4 Git Workflow
Dominik edited this page 2025-05-15 07:05:06 +00:00

Commit messages

Alle commit message müssen Conventional Commits sein.

Erlaubte typen sind:

  • feat -> Feature added
  • fix -> Fixed a bug
  • test -> Modified or added tests
  • docs -> Modified documentation
  • chore -> changes to non code files (workflows, lock files, ...)
  • refactor -> rewritten code without changing functionality
  • style -> code style (yarn format)
  • revert -> reverts a previous commit

Branch names

Die branches werden nach einem zugehörigen issue benannt. <issue_type>/<issue_number>-<issue_name>

Issue name

Die Issues werden auch wie conventional commits benannt.

Rebase

Wenn zwischen dem erstellen von einem branch und dem mergen der zugehörigen Pull-request bereits andere Änderungen auf main gemerged wurden, welche an den gleichen Dateien Änderungen vornehmen, muss der branch rebased werden.

git fetch
git rebase origin/main

Git wird bei Konflikten in den Dateien pausieren und man muss die Änderungen manuell zusammenführen (VS Code hat einen praktischen merge confict editor).

Mit git rebase --continue bzw. dem Knopf in VS Code kann der rebase fortgesetzt werden.

Da beim rebase die git history neu geschieben wird, funktioniert dannach ein normaler git push nicht und man muss einen git push --force-with-lease machen.

yarn.lock Konflikte

Sollte es Konflikte in der yarn.lock geben, kann man diese einfach Löschen und mit yarn install neu generieren.

Änderungen an den neuesten commit hinzufügen

TODO

Interactive rebase

Aufeinanderfolgende commits zusammenfassen

TODO

Änderungen an einen älteren commit hinzufügen

TODO

Ändern einer commit message

TODO