From 76e7412faac712fcc3d79a976dc2c51b7ea439f1 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 23 Sep 2025 14:43:57 +0000 Subject: [PATCH 1/2] Set Version Tag --- scripts/git-push.sh | 40 ++++++++++++++++++---------- scripts/git-push.sh.bak | 31 ++++++++++++++++++++++ scripts/merge-dev-to-master.sh | 22 ++++++++++++---- scripts/merge-dev-to-master.sh.bak | 22 ++++++++++++++++ scripts/merge-feature-to-dev.sh | 22 +++++++++++++--- scripts/merge-feature-to-dev.sh.bak | 41 +++++++++++++++++++++++++++++ 6 files changed, 155 insertions(+), 23 deletions(-) create mode 100755 scripts/git-push.sh.bak create mode 100755 scripts/merge-dev-to-master.sh.bak create mode 100755 scripts/merge-feature-to-dev.sh.bak 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." From 9b07879a98891e0833ad433f20be424736910411 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 23 Sep 2025 14:51:52 +0000 Subject: [PATCH 2/2] Update --- scripts/git-push.sh | 31 +++++++++++-------- scripts/merge-dev-to-master.sh | 34 -------------------- scripts/merge-feature-to-dev.sh | 55 --------------------------------- 3 files changed, 18 insertions(+), 102 deletions(-) delete mode 100755 scripts/merge-dev-to-master.sh delete mode 100755 scripts/merge-feature-to-dev.sh diff --git a/scripts/git-push.sh b/scripts/git-push.sh index bdfc242..b61143b 100755 --- a/scripts/git-push.sh +++ b/scripts/git-push.sh @@ -21,23 +21,28 @@ git add . 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 +# 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 # Push Branch echo "Push nach origin/$BRANCH..." git push origin "$BRANCH" -# 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." +# 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." diff --git a/scripts/merge-dev-to-master.sh b/scripts/merge-dev-to-master.sh deleted file mode 100755 index ebf51bc..0000000 --- a/scripts/merge-dev-to-master.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -# Skript: Dev in Master mergen + Versions-Tag (Pflicht) - -DEV_BRANCH="dev" -MASTER_BRANCH="master" - -# 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 - -# 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" - -# 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 erfolgreich in $MASTER_BRANCH gemerged und Tag $VERSION_TAG gesetzt." diff --git a/scripts/merge-feature-to-dev.sh b/scripts/merge-feature-to-dev.sh deleted file mode 100755 index c2c8594..0000000 --- a/scripts/merge-feature-to-dev.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# Skript: Feature in Dev mergen mit Auswahl der Feature-Branches + Versions-Tag (Pflicht) - -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: " - -BRANCH_ARRAY=($FEATURE_BRANCHES) - -# Auswahlmenü -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" - -# 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 - -# Feature-Branch aktuell holen -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" - -# Dev pushen -git push origin $DEV_BRANCH - -echo "Feature $FEATURE_BRANCH wurde erfolgreich in $DEV_BRANCH gemerged."