diff --git a/scripts/git-push.sh b/scripts/git-push.sh index 04eb08d..bdfc242 100755 --- a/scripts/git-push.sh +++ b/scripts/git-push.sh @@ -5,27 +5,39 @@ 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" -fi - -echo "➕ Änderungen werden gestaged..." +# Änderungen stagen und committen +echo "Änderungen werden gestaged..." git add . +echo "Commit wird erstellt..." +git commit -m "$COMMIT_MSG" || echo "Nichts zu committen" -echo "📝 Commit wird erstellt..." -git commit -m "$COMMIT_MSG" || echo "⚠️ Nichts zu committen" +# Versionsnummer verpflichtend abfragen +while true; do + read -p "Bitte Versionsnummer für Tag eingeben (z.B. v0.2.0 oder v0.2.0-featureX): " VERSION_TAG + if [[ -n "$VERSION_TAG" ]]; then + break + else + echo "Versionsnummer darf nicht leer sein. Bitte eingeben." + fi +done -echo "🚀 Push nach origin/$BRANCH..." +# Push Branch +echo "Push nach origin/$BRANCH..." git push origin "$BRANCH" -echo "✅ Push abgeschlossen!" +# Tag setzen und pushen +git tag -a "$VERSION_TAG" -m "Tag für $BRANCH: $VERSION_TAG" +git push origin "$VERSION_TAG" +echo "Tag $VERSION_TAG gesetzt und gepusht." + +echo "Push abgeschlossen." diff --git a/scripts/git-push.sh.bak b/scripts/git-push.sh.bak new file mode 100755 index 0000000..04eb08d --- /dev/null +++ b/scripts/git-push.sh.bak @@ -0,0 +1,31 @@ +#!/bin/bash +set -e + +# Aktuellen Branch herausfinden +BRANCH=$(git rev-parse --abbrev-ref HEAD) + +# Branch bestätigen +read -p "📂 Aktueller Branch: $BRANCH. Ist das korrekt? (y/n): " CONFIRM +if [[ "$CONFIRM" != "y" && "$CONFIRM" != "Y" ]]; then + echo "❌ Abgebrochen." + exit 1 +fi + +# Interaktive Eingabe der Commit-Nachricht +read -p "📝 Bitte Commit-Nachricht eingeben (default: 'Update'): " COMMIT_MSG + +# Wenn leer, default setzen +if [ -z "$COMMIT_MSG" ]; then + COMMIT_MSG="Update" +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..." +git push origin "$BRANCH" + +echo "✅ Push abgeschlossen!" diff --git a/scripts/merge-dev-to-master.sh b/scripts/merge-dev-to-master.sh index 1fcace4..ebf51bc 100755 --- a/scripts/merge-dev-to-master.sh +++ b/scripts/merge-dev-to-master.sh @@ -1,10 +1,20 @@ #!/bin/bash -# Skript: Dev in Master mergen +# Skript: Dev in Master mergen + Versions-Tag (Pflicht) DEV_BRANCH="dev" MASTER_BRANCH="master" -# Auf master wechseln und aktuell holen +# 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 + +# Auf Master wechseln und aktuell holen git checkout $MASTER_BRANCH git pull origin $MASTER_BRANCH @@ -16,7 +26,9 @@ git pull origin $DEV_BRANCH git checkout $MASTER_BRANCH git merge --no-ff $DEV_BRANCH -m "Merge $DEV_BRANCH into $MASTER_BRANCH" -# Push Master auf Remote -git push origin $MASTER_BRANCH +# Tag auf Master setzen +git tag -a "$VERSION_TAG" -m "Release $VERSION_TAG" +git push origin "$MASTER_BRANCH" +git push origin "$VERSION_TAG" -echo "Branch $DEV_BRANCH wurde in $MASTER_BRANCH gemerged." \ No newline at end of file +echo "Branch $DEV_BRANCH wurde erfolgreich in $MASTER_BRANCH gemerged und Tag $VERSION_TAG gesetzt." diff --git a/scripts/merge-dev-to-master.sh.bak b/scripts/merge-dev-to-master.sh.bak new file mode 100755 index 0000000..1fcace4 --- /dev/null +++ b/scripts/merge-dev-to-master.sh.bak @@ -0,0 +1,22 @@ +#!/bin/bash +# Skript: Dev in Master mergen + +DEV_BRANCH="dev" +MASTER_BRANCH="master" + +# Auf master wechseln und aktuell holen +git checkout $MASTER_BRANCH +git pull origin $MASTER_BRANCH + +# Dev aktuell holen +git checkout $DEV_BRANCH +git pull origin $DEV_BRANCH + +# Merge Dev in Master +git checkout $MASTER_BRANCH +git merge --no-ff $DEV_BRANCH -m "Merge $DEV_BRANCH into $MASTER_BRANCH" + +# Push Master auf Remote +git push origin $MASTER_BRANCH + +echo "Branch $DEV_BRANCH wurde in $MASTER_BRANCH gemerged." \ No newline at end of file diff --git a/scripts/merge-feature-to-dev.sh b/scripts/merge-feature-to-dev.sh index dc9d7cc..c2c8594 100755 --- a/scripts/merge-feature-to-dev.sh +++ b/scripts/merge-feature-to-dev.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Skript: Feature in Dev mergen mit Auswahl der Feature-Branches +# Skript: Feature in Dev mergen mit Auswahl der Feature-Branches + Versions-Tag (Pflicht) DEV_BRANCH="dev" @@ -8,10 +8,9 @@ echo "Verfügbare Feature-Branches:" FEATURE_BRANCHES=$(git branch -r | grep 'origin/feature/' | sed 's|origin/||') PS3="Bitte wähle einen Feature-Branch zum Mergen: " -# in ein Array konvertieren BRANCH_ARRAY=($FEATURE_BRANCHES) -# Auswahlmenü anzeigen +# Auswahlmenü select CHOSEN_BRANCH in "${BRANCH_ARRAY[@]}"; do if [[ -n "$CHOSEN_BRANCH" ]]; then FEATURE_BRANCH=$CHOSEN_BRANCH @@ -23,6 +22,16 @@ done echo "Ausgewählter Feature-Branch: $FEATURE_BRANCH" +# Versionsnummer verpflichtend abfragen +while true; do + read -p "Bitte Versionsnummer für Feature-Branch Tag eingeben (z.B. v0.2.0-featureX): " VERSION_TAG + if [[ -n "$VERSION_TAG" ]]; then + break + else + echo "Versionsnummer darf nicht leer sein. Bitte eingeben." + fi +done + # Dev aktuell holen git checkout $DEV_BRANCH git pull origin $DEV_BRANCH @@ -31,11 +40,16 @@ git pull origin $DEV_BRANCH git checkout $FEATURE_BRANCH git pull origin $FEATURE_BRANCH +# Tag auf Feature-Branch setzen +git tag -a "$VERSION_TAG" -m "Feature $FEATURE_BRANCH Version $VERSION_TAG" +git push origin "$VERSION_TAG" +echo "Tag $VERSION_TAG für Feature $FEATURE_BRANCH gesetzt und gepusht." + # Merge Feature in Dev git checkout $DEV_BRANCH git merge --no-ff $FEATURE_BRANCH -m "Merge $FEATURE_BRANCH into $DEV_BRANCH" -# Push Dev auf Remote +# Dev pushen git push origin $DEV_BRANCH echo "Feature $FEATURE_BRANCH wurde erfolgreich in $DEV_BRANCH gemerged." diff --git a/scripts/merge-feature-to-dev.sh.bak b/scripts/merge-feature-to-dev.sh.bak new file mode 100755 index 0000000..dc9d7cc --- /dev/null +++ b/scripts/merge-feature-to-dev.sh.bak @@ -0,0 +1,41 @@ +#!/bin/bash +# Skript: Feature in Dev mergen mit Auswahl der Feature-Branches + +DEV_BRANCH="dev" + +# Auflisten aller Feature-Branches (lokal und remote) +echo "Verfügbare Feature-Branches:" +FEATURE_BRANCHES=$(git branch -r | grep 'origin/feature/' | sed 's|origin/||') +PS3="Bitte wähle einen Feature-Branch zum Mergen: " + +# in ein Array konvertieren +BRANCH_ARRAY=($FEATURE_BRANCHES) + +# Auswahlmenü anzeigen +select CHOSEN_BRANCH in "${BRANCH_ARRAY[@]}"; do + if [[ -n "$CHOSEN_BRANCH" ]]; then + FEATURE_BRANCH=$CHOSEN_BRANCH + break + else + echo "Ungültige Auswahl. Bitte erneut versuchen." + fi +done + +echo "Ausgewählter Feature-Branch: $FEATURE_BRANCH" + +# Dev aktuell holen +git checkout $DEV_BRANCH +git pull origin $DEV_BRANCH + +# Feature-Branch aktuell holen +git checkout $FEATURE_BRANCH +git pull origin $FEATURE_BRANCH + +# Merge Feature in Dev +git checkout $DEV_BRANCH +git merge --no-ff $FEATURE_BRANCH -m "Merge $FEATURE_BRANCH into $DEV_BRANCH" + +# Push Dev auf Remote +git push origin $DEV_BRANCH + +echo "Feature $FEATURE_BRANCH wurde erfolgreich in $DEV_BRANCH gemerged."