Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Get-Git

Настольное Windows-приложение для read-only зеркалирования доступных вам репозиториев корпоративного GitLab в локальную директорию. План и архитектура — в PLAN.md.

Что делает

  • Получает список ваших проектов через GitLab REST API (personal access token с правом read_api).
  • Клонирует отсутствующие репозитории по SSH и полностью синхронизирует существующие: все локальные ветки принудительно приводятся к состоянию сервера, удалённые на сервере ветки удаляются локально.
  • Показывает по каждому репозиторию наличие локальной копии и дату последнего обновления; внизу окна — лог операций (дублируется в %APPDATA%\GetGit\logs\app.log).
  • Репозитории, код которых недоступен вашей роли (Guest в приватном проекте — скачивание требует роли Reporter), помечаются в списке «нет доступа к коду» и пропускаются при обновлении.
  • Необработанные ошибки записываются в %APPDATA%\GetGit\logs\app.log, аварийные падения — в crash.log рядом; приложение при ошибке показывает окно, а не закрывается.

Важно: локальные копии считаются read-only. Синхронизация выполняет git reset --hard и git clean -fd — любые локальные правки и посторонние файлы в папках репозиториев будут удалены. Не работайте в этих папках.

Требования

  • Windows 10/11, установленный Git for Windows (git в PATH).
  • SSH-ключ, добавленный в ваш профиль GitLab. Ключ с passphrase поддерживается только через запущенный ssh-agent.
  • Personal access token с правом read_api (GitLab → Settings → Access Tokens). Токен хранится в Диспетчере учётных данных Windows, не в файлах.

Запуск из исходников

py -3.12 -m venv .venv
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\python -m app.main

При первом запуске откройте Настройки…, укажите адрес GitLab, токен и SSH-ключ, затем выберите директорию и нажмите Обновить.

Сборка exe

.venv\Scripts\pip install -r requirements-dev.txt
.venv\Scripts\pyinstaller get-git.spec

Результат — dist\get-git.exe (Python у пользователей не требуется, Git — требуется).

Тесты

.venv\Scripts\python -m pytest tests -v

Тесты git-операций используют локальные репозитории и не требуют сети/GitLab.

About

Get git repositories

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages