Skip to content

blankstatic/autogitpull

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Консольная утилита для автоматического поддержания 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

Сценарий 1: Автообнаружение

Пользователь запускает autogitpull once Программа сканирует home директорию Находит N репозиториев, автоматически добавляет в мониторинг, для каждого репозитория выполняет git pull

Сценарий 2: Работа в feature-ветке

Пользователь работает в feature/new с незакоммиченными изменениями autogitpull обнаруживает это и пропускает git pull

Сценарий 3: Hot Reload

Пользователь редактирует .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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages