#!/usr/bin/env bash echo "===== TWORZENIE NOWEJ GAŁĘZI =====" # Aktualizacja main echo "Pobieram najnowszy main..." git checkout main 2>/dev/null || { echo "❌ Nie udało się przełączyć na main"; exit 1; } git pull origin main if [ $? -ne 0 ]; then echo "❌ Błąd podczas git pull. Sprawdź internet / uprawnienia." exit 1 fi echo "" echo "Jakiego typu zmiana?" echo " 1 = fix (poprawka błędu)" echo " 2 = feat (nowa funkcjonalność)" echo " 3 = refactor (poprawa kodu bez zmiany zachowania)" echo " 4 = docs (dokumentacja)" echo " 5 = inne (wpisz własną prefiksa)" echo -n "Wybierz numer (Enter = fix): " read -r choice case "$choice" in 1|"") PREFIX="fix" ;; 2) PREFIX="feat" ;; 3) PREFIX="refactor" ;; 4) PREFIX="docs" ;; 5) echo -n "Wpisz własny prefix (np. chore, test, style): "; read -r PREFIX ;; *) PREFIX="$choice" ;; esac echo -n "Krótki opis zmiany (bez spacji, myślniki zamiast spacji): " read -r DESC if [ -z "$DESC" ]; then echo "❌ Opis nie może być pusty!" exit 1 fi # Czyszczenie opisu: małe litery, spacje → -, usuń zabronione znaki DESC=$(echo "$DESC" | tr '[:upper:]' '[:lower:]' | tr -s ' ' '-' | tr -cd '[:alnum:]-') BRANCH="${PREFIX}-${DESC}" echo "" echo "Proponowana nazwa gałęzi: $BRANCH" echo -n "Zatwierdzasz? [T/n]: " read -r confirm if [[ "$confirm" =~ ^[Nn]$ ]]; then echo -n "Wpisz własną nazwę gałęzi: " read -r BRANCH if [ -z "$BRANCH" ]; then echo "❌ Anulowano." exit 1 fi fi echo "Tworzę gałąź: $BRANCH" git checkout -b "$BRANCH" if [ $? -ne 0 ]; then echo "❌ Błąd – gałąź prawdopodobnie już istnieje." git branch exit 1 fi echo "" echo "✅ Jesteś teraz na gałęzi: $BRANCH" echo "Po skończeniu pracy uruchom: ./git-done.sh"