From 2064546b190b286a51df24966d199e6dd27c66e2 Mon Sep 17 00:00:00 2001 From: Bruno Eckhardt Date: Mon, 13 Jul 2026 12:30:48 +0200 Subject: [PATCH] add auto merge script --- merge.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 merge.sh diff --git a/merge.sh b/merge.sh new file mode 100644 index 0000000..33c0d3b --- /dev/null +++ b/merge.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# Erzwingt den Abbruch des Skripts, sobald ein Befehl fehlschlägt +set -e + +echo "🚀 Starte automatischen Merge- und Tag-Prozess..." + +# 1. Sicherstellen, dass wir die neuesten Stände vom Server haben +echo "🔄 Aktualisiere lokale Branches vom Remote..." +git fetch --all + +# 2. Main aktualisieren +echo "🌿 Prüfe main..." +git checkout main +git pull origin main + +# 3. Main in Dev mergen +echo "🔀 Merge: main -> dev..." +git checkout dev +git pull origin dev || true # Falls dev lokal noch nicht existiert +git merge main --no-ff -m "Automated merge from main to dev" +git push origin dev + +# 4. Dev in Live mergen +echo "🔀 Merge: dev -> live..." +git checkout live +git pull origin live || true # Falls live lokal noch nicht existiert +git merge dev --no-ff -m "Automated merge from dev to live" +git push origin live + +# 5. Tag erstellen und pushen +# Format: vYYYY.MM.DD-HHMM (z. B. v2026.07.13-1430) +TAG_NAME="v$(date +'%Y.%m.%d-%H%M')" + +echo "🏷️ Erstelle Tag: $TAG_NAME..." +git tag -a "$TAG_NAME" -m "Automated release tag $TAG_NAME" +git push origin "$TAG_NAME" + +# Zurück auf den Ausgangs-Branch (main) wechseln +git checkout main + +echo "✅ Fertig! Alles erfolgreich gemergt und Tag $TAG_NAME wurde gepusht." \ No newline at end of file