Dokumentiert den tatsaechlich verwendeten git/gh-Workflow - vom lokalen Repo bis zum
gemergten Pull Request. Nachtraeglich erstellt (offener Punkt aus der Jenkins-Pipeline-Arbeit),
anhand des realen Verlaufs in diesem Repository.
git checkout -b feature/jenkins-multi-stage-pipeline
Jede groessere, in sich abgeschlossene Arbeitseinheit (Jenkins-Pipeline, jetzt die
Spring/Jakarta/OpenShift-Migration) bekommt einen eigenen Feature-Branch von master aus,
niemals direkte Commits auf master.
Durchgehende Konvention in diesem Projekt: 2-3 inhaltlich abgegrenzte Commits pro Phase/
Feature, jeweils mit sprechendem Praefix (Phase N (x/y): ..., Jenkins-Pipeline (x/y): ...).
Kein git commit -m "wip" oder aehnliches - jeder Commit soll fuer sich lesbar sein.
git add <konkrete Dateien> # nie git add -A, um versehentliches Mitcommitten zu vermeiden
git commit -m "$(cat <<'EOF'
Jenkins-Pipeline (1/2): Jenkinsfile + Deploy-Simulation + Stage-Configs
Kurze Begruendung des WARUM, nicht nur des WAS.
EOF
)"
gh repo create nursude/novaris-versicherung-legacy --private --source=. --remote=origin
Bewusst privates Repo (Nutzerentscheidung) - dieses Lernprojekt enthaelt keine echten Geheimnisse, aber auch keinen Grund fuer oeffentliche Sichtbarkeit.
git push -u origin feature/jenkins-multi-stage-pipeline
-u setzt das Remote-Tracking, damit spaetere git push/git pull ohne weitere Angaben
funktionieren.
gh pr create --title "Jenkins Multi-Stage-Pipeline (local/test/QS/prod)" --body "$(cat <<'EOF'
## Summary
- <Kernpunkte der Aenderung als Bulletpoints>
## Test plan
- [ ] <konkrete Verifikationsschritte>
Generated with Claude Code
EOF
)"
gh pr create erkennt Base- (master) und Head-Branch automatisch aus dem aktuellen
Checkout; --body per Heredoc vermeidet Escaping-Probleme mit Zeilenumbruechen.
gh pr view <NR> --json title,body,author,baseRefName,headRefName,state,additions,deletions,changedFiles,labels
gh pr diff <NR>
Das Review lief hier als Selbstreview auf dem eigenen Diff (kein zweites Teammitglied
verfuegbar) - fand zwei echte Probleme (nicht ausfuehrbares deploy.sh, ungenutzte injizierte
Credentials), die vor dem Merge noch behoben wurden (Review-Fixes: ausfuehrbares deploy.sh +
echte Credential-Verifikation).
gh pr merge <NR> --merge --delete-branch
--delete-branch raeumt den Feature-Branch remote und lokal auf, sobald der Merge steht -
verhindert, dass abgeschlossene Branches sich ansammeln. Ergebnis in diesem Projekt: PR #1
(feature/jenkins-multi-stage-pipeline -> master), gemerged am 2026-08-07,
https://github.com/nursude/novaris-versicherung-legacy/pull/1.
git checkout -b feature/...
# ... Commits ...
gh repo create ... --private --source=. --remote=origin # nur beim allerersten Mal
git push -u origin feature/...
gh pr create --title ... --body ...
gh pr view <NR> --json ... / gh pr diff <NR> # Review
git push origin feature/... # Review-Fixes, falls noetig
gh pr merge <NR> --merge --delete-branch
Dieser Ablauf gilt unveraendert auch fuer den aktuellen Migrations-Branch
(feature/spring-jakarta-openshift-migration).