RS
Проекты

GitBor

В завершающей стадии

Git-клиент

Скриншот скоро

Кроссплатформенный десктопный Git-клиент. Визуальный граф коммитов, интерактивный rebase, diff-просмотр с подсветкой синтаксиса, blame, разрешение конфликтов.

Ключевые особенности

  • 5 уровней защиты данных (reflog, auto-stash, WAL, RecoveryManager)
  • Atomic Git-операции через WAL-журнал
  • Canvas-граф коммитов с виртуализацией
  • Полная интеграция с git CLI через child_process

Архитектура

5 уровней защиты пользовательских данных: автоматический reflog перед опасными операциями, auto-stash несохранённых изменений, WAL-журнал atomic-операций, RecoveryManager для восстановления при сбоях, и snapshot-based undo для UI-действий. Цель — невозможность потери данных при любых сбоях.

WAL-журнал (Write-Ahead Log) реализует atomic Git-операции: rebase, merge, cherry-pick записываются в журнал ДО изменения репозитория. При падении процесса или внезапной перезагрузке RecoveryManager при следующем запуске обнаруживает незавершённую операцию и предлагает откат или продолжение.

Граф коммитов рендерится через Canvas 2D с виртуализацией: видимы только коммиты в области экрана, layout считается инкрементально. Это позволяет работать с репозиториями в десятки тысяч коммитов без задержек прокрутки.

Интеграция с git CLI через child_process: GitBor не реимплементирует Git, а вызывает системный git. Это гарантирует совместимость с любым валидным репозиторием, включая worktrees, submodules, sparse-checkout и нестандартные конфигурации.

Стек

TypeScriptElectronReactViteCanvas 2D