Консольная утилита для автоматического поддержания Git-репозиториев в актуальном состоянии
autogitpull init
autogitpull service install --interval 30
# Программа работает автоматически:
# - Обновляет репозитории каждые 30 минут
# - Обнаруживает новые репозитории
# - Умно обрабатывает локальные ветки
# - Логирует все операции
- Рекурсивный поиск Git-репозиториев в домашней директории и/или в которой сделали
init
- Умные исключения:
node_modules/
,vendor/
,.*/
,build/
,dist/
- Оптимизированное сканирование с ограничением глубины поиска для производительности (можно изменить в конфигурации)
- Автоматическое добавление новых репозиториев при их создании
- Live Hot Reload
- Мониторинг конфигурации в реальном времени
- Динамическое применение изменений без перезапуска
- Автообнаружение изменений в файловой системе
- Бесперебойная работа при обновлении настроек
- Интеллектуальная работа с Git
- Определение безопасных веток:
main
,master
,develop
- Стратегии для локальных веток:
- Пропустить при работе в локальных ветках (Проверка текущей ветки:
git branch --show-current
) - Пропустить при наличии незакоммиченных изменений
git status --porcelain
- Пропустить при работе в локальных ветках (Проверка текущей ветки:
- Определение безопасных веток:
- Самoрегистрация как демон
- Автоматическая установка как системной службы
# Инициализация
autogitpull init
# Тестовый запуск
autogitpull once --dry-run
# Управление репозиториями
autogitpull discover
autogitpull list-repos
autogitpull add-repo /path/to/repo ./repo
autogitpull status
# Управление службой
autogitpull service start|stop|restart|status
# Удаление службы
autogitpull service uninstall
# Просмотр логов
autogitpull service logs
Пользователь запускает autogitpull once
Программа сканирует home
директорию
Находит N репозиториев, автоматически добавляет в мониторинг, для каждого репозитория выполняет git pull
Пользователь работает в feature/new с незакоммиченными изменениями autogitpull
обнаруживает это и пропускает git pull
Пользователь редактирует .autogitpull
Программа обнаруживает изменения
Динамически применяет новые настройки без остановки службы
Добавляет/удаляет репозитории из мониторинга
- Graceful shutdown
- Восстановление после сбоев
- Детальное логирование ошибок
- Уведомления: Отправка уведомлений через системные нотификации
git rev-parse --abbrev-ref HEAD
git branch --show-current
git remote show origin
git --no-pager branch -r
git branch -r | cat
git log HEAD..origin/master --oneline | cat
git diff HEAD origin/master | cat
git fetch --all
git fetch origin
git merge origin/master