Merge feature/first-stack-display into dev
This commit is contained in:
Executable
+55
@@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Skript: Neues Feature erstellen
|
||||||
|
|
||||||
|
MASTER_BRANCH="master"
|
||||||
|
|
||||||
|
# Abfrage Feature-Name
|
||||||
|
read -p "Bitte den Namen des neuen Features eingeben: " FEATURE_NAME
|
||||||
|
|
||||||
|
# Falls nichts eingegeben wurde, Skript abbrechen
|
||||||
|
if [ -z "$FEATURE_NAME" ]; then
|
||||||
|
echo "❌ Fehler: Kein Feature-Name angegeben."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Validierung: nur erlaubte Zeichen
|
||||||
|
if [[ "$FEATURE_NAME" =~ [^a-zA-Z0-9._-] ]]; then
|
||||||
|
echo "❌ Fehler: Ungültiger Branch-Name. Bitte nur Buchstaben, Zahlen, Punkt, Unterstrich oder Bindestrich verwenden."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
FEATURE_BRANCH="feature/$FEATURE_NAME"
|
||||||
|
|
||||||
|
# Check auf uncommittete Änderungen
|
||||||
|
if ! git diff-index --quiet HEAD --; then
|
||||||
|
echo "⚠️ Es gibt noch uncommittete Änderungen. Bitte committen oder stashen, bevor ein neuer Branch erstellt wird."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prüfen, ob Branch lokal schon existiert
|
||||||
|
if git show-ref --verify --quiet refs/heads/$FEATURE_BRANCH; then
|
||||||
|
echo "❌ Fehler: Der Branch '$FEATURE_BRANCH' existiert lokal bereits."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prüfen, ob Branch remote schon existiert
|
||||||
|
if git ls-remote --heads origin $FEATURE_BRANCH | grep -q $FEATURE_BRANCH; then
|
||||||
|
echo "❌ Fehler: Der Branch '$FEATURE_BRANCH' existiert bereits auf Remote."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Auf master wechseln und aktualisieren
|
||||||
|
git checkout $MASTER_BRANCH
|
||||||
|
git pull origin $MASTER_BRANCH
|
||||||
|
|
||||||
|
# Neuen Feature-Branch erstellen und auschecken
|
||||||
|
git checkout -b $FEATURE_BRANCH $MASTER_BRANCH
|
||||||
|
|
||||||
|
# Branch auf Remote pushen
|
||||||
|
git push -u origin $FEATURE_BRANCH
|
||||||
|
|
||||||
|
# Commit-Hash der Basis holen
|
||||||
|
BASE_COMMIT=$(git rev-parse --short HEAD)
|
||||||
|
|
||||||
|
echo "✅ Neuer Feature-Branch '$FEATURE_BRANCH' wurde erstellt und auf Remote gepusht."
|
||||||
|
echo " Basis: $MASTER_BRANCH@$BASE_COMMIT"
|
||||||
Reference in New Issue
Block a user