diff --git a/deploy.sh b/deploy.sh index b6b78d3..46461c4 100644 --- a/deploy.sh +++ b/deploy.sh @@ -8,12 +8,22 @@ set -e # Остановка при ошибке echo "🚀 Начинаем обновление..." echo "" -echo "📥 Шаг 1/4: Обновление кода из Git..." -git pull +echo "📥 Шаг 1/5: Обновление кода из Git..." +# Сохраняем локальные изменения в stash (если есть) +if [ -n "$(git status --porcelain)" ]; then + echo "⚠️ Обнаружены локальные изменения, сохраняем в stash..." + git stash push -m "Auto-stash before deploy $(date +%Y-%m-%d_%H:%M:%S)" || true +fi +# Получаем последние изменения из репозитория +git fetch origin +# Определяем текущую ветку +BRANCH=$(git rev-parse --abbrev-ref HEAD) +# Принудительно обновляем до состояния репозитория +git reset --hard origin/$BRANCH if [ $? -eq 0 ]; then - echo "✅ Git pull выполнен успешно" + echo "✅ Код обновлен из Git (ветка: $BRANCH)" else - echo "❌ Ошибка при git pull" + echo "❌ Ошибка при обновлении кода из Git" exit 1 fi