SysTrayGitBackupper

Приложение для локального бекапа git репозиториев с площадок типа Github, Gitlab, Bitbuket.

О проекте

Настольное приложение для Windows, которое работает в системном трее и по расписанию создает локальные резервные копии репозиториев с облачных Git-провайдеров. Список репозиториев запрашивается через API провайдера, затем выполняется клонирование и обновление через установленный Git (HTTPS, токен доступа).

 

https://gitlab.com/niksan321/SysTrayGitBackupper

Возможности

  • Несколько профилей бэкапа — для каждого задаются провайдер, учётные данные, корневой каталог бэкапа и имя профиля; рабочие клоны лежат в подпапке с именем профиля.
  • Провайдеры: GitHub, GitLab, Bitbucket, а также другие инстансы с GitLab-совместимым API (базовый URL задаётся в настройках профиля).
  • Расписание — интервал между проходами бэкапа и таймаут операций настраиваются отдельно для каждого профиля.
  • Выбор репозиториев — можно ограничить набор репозиториев и указать ветку для каждого из них.
  • Параллельная обработка — число одновременно обрабатываемых репозиториев ограничивается (в разумных пределах, с учётом числа логических процессоров).
  • Очистка каталога бэкапа (опционально) — удаление подпапок, не относящихся к текущему списку выбранных репозиториев, перед синхронизацией.
  • Архив после прохода (опционально) — создание ZIP всего каталога бэкапа профиля с настраиваемым уровнем сжатия.
  • Общие настройки приложения: автозапуск, старт свёрнутым, уведомления, длительность всплывающих сообщений, язык интерфейса (в т.ч. русский и английский), звук при ошибке, подтверждение удаления и др.

Лицензия

Проект распространяется под лицензией MIT (текст на opensource.org). Юридически значимая формулировка и строка об авторских правах — в файле [LICENSE](LICENSE) в корне репозитория.

 

Кратко по смыслу (не заменяет `LICENSE`): можно использовать, изменять и распространять код, в том числе в закрытых и коммерческих проектах, при условии сохранения уведомления о copyright и текста лицензии MIT в копиях. ПО предоставляется «как есть», без каких‑либо гарантий; ответственность ограничена так, как указано в MIT.

Ценность

Репозитории остаются под рукой локально, даже если облачная площадка недоступна или аккаунт заблокирован. Команда не тратит время на ручное клонирование и не зависит от единственной точки хранения кода. Несколько профилей позволяют одновременно бэкапить репозитории из разных организаций и провайдеров в разные каталоги — без дополнительных скриптов и задач в планировщике Windows.

Для кого

Для всех, кто хочет делать резервные копии для своих git репозиториев.

Стэк

C#
WPF