Compare commits
No commits in common. "100859ae45c76b8e9ed0a1212cce70f3867996ea" and "6e54b23b932c6c832e99811bc9e3eeacc87781f5" have entirely different histories.
100859ae45
...
6e54b23b93
69
git-start.sh
69
git-start.sh
|
|
@ -2,17 +2,23 @@
|
||||||
|
|
||||||
echo "===== TWORZENIE NOWEJ GAŁĘZI ====="
|
echo "===== TWORZENIE NOWEJ GAŁĘZI ====="
|
||||||
|
|
||||||
# ────────────────────────────────────────────────
|
# Aktualizacja main
|
||||||
# Najpierw zbieramy wszystkie odpowiedzi od użytkownika
|
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 ""
|
||||||
echo "Jakiego typu zmiana?"
|
echo "Jakiego typu zmiana?"
|
||||||
echo " 1 = fix (poprawka błędu)"
|
echo " 1 = fix (poprawka błędu)"
|
||||||
echo " 2 = feat (nowa funkcjonalność)"
|
echo " 2 = feat (nowa funkcjonalność)"
|
||||||
echo " 3 = refactor (poprawa kodu bez zmiany zachowania)"
|
echo " 3 = refactor (poprawa kodu bez zmiany zachowania)"
|
||||||
echo " 4 = docs (dokumentacja)"
|
echo " 4 = docs (dokumentacja)"
|
||||||
echo " 5 = inne (wpisz własną prefiksa)"
|
echo " 5 = inne (wpisz własną prefiksa)"
|
||||||
echo -n "Wybierz numer (Enter = fix): "
|
echo -n "Wybierz numer (Enter = fix): "
|
||||||
|
|
||||||
read -r choice
|
read -r choice
|
||||||
|
|
@ -22,8 +28,7 @@ case "$choice" in
|
||||||
2) PREFIX="feat" ;;
|
2) PREFIX="feat" ;;
|
||||||
3) PREFIX="refactor" ;;
|
3) PREFIX="refactor" ;;
|
||||||
4) PREFIX="docs" ;;
|
4) PREFIX="docs" ;;
|
||||||
5) echo -n "Wpisz własny prefix (np. chore, test, style): "
|
5) echo -n "Wpisz własny prefix (np. chore, test, style): "; read -r PREFIX ;;
|
||||||
read -r PREFIX ;;
|
|
||||||
*) PREFIX="$choice" ;;
|
*) PREFIX="$choice" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
@ -35,13 +40,13 @@ if [ -z "$DESC" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Czyszczenie opisu
|
# Czyszczenie opisu: małe litery, spacje → -, usuń zabronione znaki
|
||||||
DESC=$(echo "$DESC" | tr '[:upper:]' '[:lower:]' | tr -s ' ' '-' | tr -cd '[:alnum:]-')
|
DESC=$(echo "$DESC" | tr '[:upper:]' '[:lower:]' | tr -s ' ' '-' | tr -cd '[:alnum:]-')
|
||||||
|
|
||||||
PROPOSED_BRANCH="${PREFIX}-${DESC}"
|
BRANCH="${PREFIX}-${DESC}"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Proponowana nazwa gałęzi: ${PROPOSED_BRANCH}"
|
echo "Proponowana nazwa gałęzi: $BRANCH"
|
||||||
echo -n "Zatwierdzasz? [T/n]: "
|
echo -n "Zatwierdzasz? [T/n]: "
|
||||||
read -r confirm
|
read -r confirm
|
||||||
|
|
||||||
|
|
@ -52,48 +57,14 @@ if [[ "$confirm" =~ ^[Nn]$ ]]; then
|
||||||
echo "❌ Anulowano."
|
echo "❌ Anulowano."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
BRANCH="${PROPOSED_BRANCH}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ────────────────────────────────────────────────
|
echo "Tworzę gałąź: $BRANCH"
|
||||||
# Teraz dopiero zaczynamy operacje git
|
|
||||||
# ────────────────────────────────────────────────
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Przygotowuję main..."
|
|
||||||
|
|
||||||
# Zapisujemy ewentualne niezacommitowane zmiany
|
|
||||||
echo "→ Zapisuję bieżące niezacommitowane zmiany (stash)..."
|
|
||||||
git stash push -m "automatyczny stash przed git-start $(date '+%Y-%m-%d %H:%M')" || true
|
|
||||||
|
|
||||||
# Przełączamy się na main
|
|
||||||
git checkout main 2>/dev/null || { echo "❌ Nie udało się przełączyć na main"; exit 1; }
|
|
||||||
|
|
||||||
# Aktualizujemy main
|
|
||||||
echo "→ Pobieram najnowszy main..."
|
|
||||||
git pull origin main
|
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "❌ Błąd podczas git pull. Sprawdź połączenie / uprawnienia."
|
|
||||||
# Przywracamy stash jeśli był
|
|
||||||
git stash pop || true
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Przywracamy ewentualne zmiany użytkownika na czystym mainie
|
|
||||||
echo "→ Przywracam Twoje zmiany (jeśli były schowane)..."
|
|
||||||
git stash pop || echo "Nie było schowanych zmian – OK"
|
|
||||||
|
|
||||||
# Tworzymy nową gałąź
|
|
||||||
echo "→ Tworzę gałąź: $BRANCH"
|
|
||||||
git checkout -b "$BRANCH"
|
git checkout -b "$BRANCH"
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "❌ Błąd – gałąź $BRANCH prawdopodobnie już istnieje."
|
echo "❌ Błąd – gałąź prawdopodobnie już istnieje."
|
||||||
git branch
|
git branch
|
||||||
# Przywracamy stan sprzed próby (opcjonalnie)
|
|
||||||
git checkout main
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
||||||
53
git-sync.sh
53
git-sync.sh
|
|
@ -1,14 +1,52 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
echo "Synchronizuję main..."
|
set -e # wychodzi przy pierwszym błędzie
|
||||||
git checkout main
|
|
||||||
git pull origin main
|
|
||||||
|
|
||||||
# opcjonalnie: usuń stare, już zmergowane gałęzie lokalne
|
echo "======================================"
|
||||||
|
echo " git-sync – pełna synchronizacja + merge + push"
|
||||||
|
echo "======================================"
|
||||||
|
|
||||||
|
CURRENT=$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
|
||||||
|
if [ "$CURRENT" = "main" ] || [ "$CURRENT" = "HEAD" ]; then
|
||||||
|
echo "Błąd: jesteś na main lub w detached HEAD."
|
||||||
|
echo "Najpierw przejdź na swoją gałąź roboczą."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Twoja gałąź: $CURRENT"
|
||||||
|
|
||||||
|
# 1. Aktualizacja origin (wszystkie branche)
|
||||||
|
git fetch origin
|
||||||
|
|
||||||
|
# 2. Przechodzimy na main i aktualizujemy go z serwera
|
||||||
|
echo "→ Aktualizuję main z origin..."
|
||||||
|
git checkout main
|
||||||
|
git pull --ff-only origin main # --ff-only = nie pozwala na merge jeśli nie jest fast-forward
|
||||||
|
|
||||||
|
# 3. Wracamy na gałąź roboczą
|
||||||
|
git checkout "$CURRENT"
|
||||||
|
|
||||||
|
# 4. Merge main → nasza gałąź (żeby nie mieć konfliktów przy mergu w drugą stronę)
|
||||||
|
echo "→ Merge main → $CURRENT (aktualizacja feature z main)..."
|
||||||
|
git merge main
|
||||||
|
|
||||||
|
# 5. Teraz merge nasza gałąź → main
|
||||||
|
echo "→ Merge $CURRENT → main lokalnie..."
|
||||||
|
git checkout main
|
||||||
|
git merge "$CURRENT" --no-edit # --no-edit = bez edytowania komunikatu merge
|
||||||
|
|
||||||
|
# 6. Push main na serwer
|
||||||
|
echo "→ Wrzucam zaktualizowany main na serwer..."
|
||||||
|
git push origin main
|
||||||
|
|
||||||
|
# 7. Opcjonalnie: wracamy na gałąź roboczą
|
||||||
|
git checkout "$CURRENT"
|
||||||
|
|
||||||
|
# 8. Czyszczenie starych zmergowanych gałęzi (opcjonalne)
|
||||||
git fetch --prune
|
git fetch --prune
|
||||||
git branch --merged main | grep -v '^ *main$' | xargs git branch -d 2>/dev/null || true
|
git branch --merged main | grep -v '^ *main$' | xargs git branch -d 2>/dev/null || true
|
||||||
|
|
||||||
<<<<<<< Updated upstream
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "======================================"
|
echo "======================================"
|
||||||
echo "✅ Zrobione:"
|
echo "✅ Zrobione:"
|
||||||
|
|
@ -17,7 +55,4 @@ echo "• $CURRENT zmergowany do main"
|
||||||
echo "• main wypushowany na serwer"
|
echo "• main wypushowany na serwer"
|
||||||
echo "Jesteś teraz na: $CURRENT"
|
echo "Jesteś teraz na: $CURRENT"
|
||||||
echo "======================================"
|
echo "======================================"
|
||||||
git checkout main
|
git checkout main
|
||||||
=======
|
|
||||||
echo "Gotowe. Teraz możesz tworzyć nową gałąź."
|
|
||||||
>>>>>>> Stashed changes
|
|
||||||
Loading…
Reference in New Issue
Block a user