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