diff --git a/scripts/git-push.sh b/scripts/git-push.sh index 04eb08d..b61143b 100755 --- a/scripts/git-push.sh +++ b/scripts/git-push.sh @@ -5,27 +5,44 @@ set -e BRANCH=$(git rev-parse --abbrev-ref HEAD) # Branch bestätigen -read -p "📂 Aktueller Branch: $BRANCH. Ist das korrekt? (y/n): " CONFIRM +read -p "Aktueller Branch: $BRANCH. Ist das korrekt? (y/n): " CONFIRM if [[ "$CONFIRM" != "y" && "$CONFIRM" != "Y" ]]; then - echo "❌ Abgebrochen." + echo "Abgebrochen." exit 1 fi -# Interaktive Eingabe der Commit-Nachricht -read -p "📝 Bitte Commit-Nachricht eingeben (default: 'Update'): " COMMIT_MSG +# Commit-Nachricht +read -p "Bitte Commit-Nachricht eingeben (default: 'Update'): " COMMIT_MSG +COMMIT_MSG=${COMMIT_MSG:-Update} -# Wenn leer, default setzen -if [ -z "$COMMIT_MSG" ]; then - COMMIT_MSG="Update" +# Änderungen stagen und committen +echo "Änderungen werden gestaged..." +git add . +echo "Commit wird erstellt..." +git commit -m "$COMMIT_MSG" || echo "Nichts zu committen" + +# Prüfen, ob Branch master ist +if [[ "$BRANCH" == "master" ]]; then + # Versionsnummer verpflichtend abfragen + while true; do + read -p "Bitte Versionsnummer für Master-Release Tag eingeben (z.B. v0.2.0): " VERSION_TAG + if [[ -n "$VERSION_TAG" ]]; then + break + else + echo "Versionsnummer darf nicht leer sein. Bitte eingeben." + fi + done fi -echo "➕ Änderungen werden gestaged..." -git add . - -echo "📝 Commit wird erstellt..." -git commit -m "$COMMIT_MSG" || echo "⚠️ Nichts zu committen" - -echo "🚀 Push nach origin/$BRANCH..." +# Push Branch +echo "Push nach origin/$BRANCH..." git push origin "$BRANCH" -echo "✅ Push abgeschlossen!" +# Tag setzen und pushen, nur bei master +if [[ "$BRANCH" == "master" ]]; then + git tag -a "$VERSION_TAG" -m "Release $VERSION_TAG" + git push origin "$VERSION_TAG" + echo "Tag $VERSION_TAG gesetzt und gepusht." +fi + +echo "Push abgeschlossen."