#!/bin/bash # Безопасный git pull с сохранением локального config.py # Использование: ./git-pull-safe.sh CONFIG_FILE="LichessClientTG_bot/config.py" BACKUP_FILE="${CONFIG_FILE}.local" echo "🔄 Безопасный git pull с сохранением локального config.py..." # Сохраняем локальный config if [ -f "$CONFIG_FILE" ]; then echo "💾 Сохраняю локальный config.py..." cp "$CONFIG_FILE" "$BACKUP_FILE" fi # Временно убираем skip-worktree echo "🔓 Временно отключаю skip-worktree..." git update-index --no-skip-worktree "$CONFIG_FILE" 2>/dev/null || true # Восстанавливаем версию из репозитория для pull echo "📥 Восстанавливаю версию из репозитория для pull..." git checkout -- "$CONFIG_FILE" 2>/dev/null || true # Делаем pull echo "⬇️ Выполняю git pull..." git pull # Восстанавливаем локальный config if [ -f "$BACKUP_FILE" ]; then echo "✅ Восстанавливаю локальный config.py..." cp "$BACKUP_FILE" "$CONFIG_FILE" rm "$BACKUP_FILE" fi # Возвращаем skip-worktree echo "🔒 Возвращаю skip-worktree..." git update-index --skip-worktree "$CONFIG_FILE" echo "✨ Готово! Локальный config.py сохранен."