42 lines
1.4 KiB
Bash
Executable file
42 lines
1.4 KiB
Bash
Executable file
#!/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 сохранен."
|
||
|
||
|