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 и нестандартные конфигурации.