74 lines
1.8 KiB
Bash
Executable File
74 lines
1.8 KiB
Bash
Executable File
#!/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"
|