Compare commits
No commits in common. "100859ae45c76b8e9ed0a1212cce70f3867996ea" and "6e54b23b932c6c832e99811bc9e3eeacc87781f5" have entirely different histories.
100859ae45
...
6e54b23b93
59
git-start.sh
59
git-start.sh
|
|
@ -2,9 +2,15 @@
|
|||
|
||||
echo "===== TWORZENIE NOWEJ GAŁĘZI ====="
|
||||
|
||||
# ────────────────────────────────────────────────
|
||||
# Najpierw zbieramy wszystkie odpowiedzi od użytkownika
|
||||
# ────────────────────────────────────────────────
|
||||
# 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?"
|
||||
|
|
@ -22,8 +28,7 @@ case "$choice" in
|
|||
2) PREFIX="feat" ;;
|
||||
3) PREFIX="refactor" ;;
|
||||
4) PREFIX="docs" ;;
|
||||
5) echo -n "Wpisz własny prefix (np. chore, test, style): "
|
||||
read -r PREFIX ;;
|
||||
5) echo -n "Wpisz własny prefix (np. chore, test, style): "; read -r PREFIX ;;
|
||||
*) PREFIX="$choice" ;;
|
||||
esac
|
||||
|
||||
|
|
@ -35,13 +40,13 @@ if [ -z "$DESC" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Czyszczenie opisu
|
||||
# Czyszczenie opisu: małe litery, spacje → -, usuń zabronione znaki
|
||||
DESC=$(echo "$DESC" | tr '[:upper:]' '[:lower:]' | tr -s ' ' '-' | tr -cd '[:alnum:]-')
|
||||
|
||||
PROPOSED_BRANCH="${PREFIX}-${DESC}"
|
||||
BRANCH="${PREFIX}-${DESC}"
|
||||
|
||||
echo ""
|
||||
echo "Proponowana nazwa gałęzi: ${PROPOSED_BRANCH}"
|
||||
echo "Proponowana nazwa gałęzi: $BRANCH"
|
||||
echo -n "Zatwierdzasz? [T/n]: "
|
||||
read -r confirm
|
||||
|
||||
|
|
@ -52,48 +57,14 @@ if [[ "$confirm" =~ ^[Nn]$ ]]; then
|
|||
echo "❌ Anulowano."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
BRANCH="${PROPOSED_BRANCH}"
|
||||
fi
|
||||
|
||||
# ────────────────────────────────────────────────
|
||||
# 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"
|
||||
echo "Tworzę gałąź: $BRANCH"
|
||||
git checkout -b "$BRANCH"
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Błąd – gałąź $BRANCH prawdopodobnie już istnieje."
|
||||
echo "❌ Błąd – gałąź prawdopodobnie już istnieje."
|
||||
git branch
|
||||
# Przywracamy stan sprzed próby (opcjonalnie)
|
||||
git checkout main
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
|
|||
51
git-sync.sh
51
git-sync.sh
|
|
@ -1,14 +1,52 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
echo "Synchronizuję main..."
|
||||
git checkout main
|
||||
git pull origin main
|
||||
set -e # wychodzi przy pierwszym błędzie
|
||||
|
||||
# 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 branch --merged main | grep -v '^ *main$' | xargs git branch -d 2>/dev/null || true
|
||||
|
||||
<<<<<<< Updated upstream
|
||||
echo ""
|
||||
echo "======================================"
|
||||
echo "✅ Zrobione:"
|
||||
|
|
@ -18,6 +56,3 @@ echo "• main wypushowany na serwer"
|
|||
echo "Jesteś teraz na: $CURRENT"
|
||||
echo "======================================"
|
||||
git checkout main
|
||||
=======
|
||||
echo "Gotowe. Teraz możesz tworzyć nową gałąź."
|
||||
>>>>>>> Stashed changes
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user