GitHub Workflow
Workflow für Issue-basierte Entwicklung mit GitHub Flow.
Session-Start in GitHub-Repo
Bei Session-Start in einem Git-Repo mit GitHub-Remote:
- •
Repo-Status prüfen
bashgit remote -v gh repo view --json nameWithOwner -q .nameWithOwner
- •
Offene Issues laden und präsentieren
bashgh issue list --state open --limit 20 --json number,title,labels,assignees,createdAt
- •
Issues mit AskUserQuestion präsentieren - Sortiert nach Priorität:
- •Issues mit Label
priority:highoderurgentzuerst - •Issues die dem Benutzer zugewiesen sind
- •Älteste Issues (länger offen)
- •Neueste Issues
- •Issues mit Label
- •
Nach Auswahl: Branch erstellen und wechseln
bashgit checkout -b feature/<issue-nummer>-<kurzbeschreibung>
Branch-Naming:
feature/123-add-user-auth(Kleinbuchstaben, Bindestriche)
Arbeiten an einem Issue
- •
Issue-Details laden vor Beginn der Arbeit:
bashgh issue view <nummer> --json title,body,comments,labels
- •
Regelmäßig committen mit Referenz zum Issue:
codefeat: Add login form validation Implements validation for #123
- •
Bei Fertigstellung: Pull Request erstellen
bashgh pr create --title "<titel>" --body "$(cat <<'EOF' ## Summary <Zusammenfassung der Änderungen> Closes #<issue-nummer> ## Changes - <Änderung 1> - <Änderung 2> ## Test Plan - [ ] <Test 1> - [ ] <Test 2> EOF )"
Neues Issue erstellen
Verwende das Template aus references/issue-template.md.
gh issue create --title "<titel>" --body "$(cat <<'EOF' <template-inhalt> EOF )"
Pflichtfelder:
- •Titel: Kurz, prägnant, im Imperativ ("Add feature X", nicht "Adding feature X")
- •Beschreibung: Was soll erreicht werden?
- •Akzeptanzkriterien: Wann ist das Issue erledigt?
Branch wechseln / Issue wechseln
Wenn der Benutzer zu einem anderen Issue wechseln möchte:
- •Aktuelle Änderungen committen oder stashen
- •Offene Issues erneut präsentieren
- •Neuen Branch erstellen oder zu bestehendem wechseln:
bash
git checkout feature/<issue-nummer>-<beschreibung>
Konventionen
| Element | Format | Beispiel |
|---|---|---|
| Branch | feature/<nummer>-<beschreibung> | feature/42-user-login |
| Bugfix-Branch | fix/<nummer>-<beschreibung> | fix/99-null-pointer |
| Commit | Conventional Commits | feat: Add login (#42) |
| PR-Titel | Beschreibend | Add user authentication |