Gitor.Cli
1.0.3
dotnet tool install --global Gitor.Cli --version 1.0.3
dotnet new tool-manifest
dotnet tool install --local Gitor.Cli --version 1.0.3
#tool dotnet:?package=Gitor.Cli&version=1.0.3
nuke :add-package Gitor.Cli --version 1.0.3
<div align="center">
<img src="assets/gitor_logo.png" alt="GITOR Logo" width="250">
<h1>GITOR โ Git Orchestrator</h1>
<p> <b>Multi-repository management CLI for microservice teams.</b><br/> Pull, compare, sync, and clean up dozens of repos in seconds. </p>
<p> <a href="https://github.com/kovercc/gitor/actions/workflows/ci.yml"><img src="https://github.com/kovercc/gitor/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://github.com/kovercc/gitor/releases"><img src="https://github.com/kovercc/gitor/actions/workflows/release.yml/badge.svg" alt="Release"></a> <a href="https://github.com/kovercc/gitor/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License: MIT"></a> </p>
</div>
<div align="center"> <img src="assets/demo.gif" alt="Gitor Demo"> </div>
โจ Features
- ๐ Dashboard: See all repositories at a glance: current branch, dirty/clean state, ahead/behind counts.
- โฌ๏ธ Pull All: Fetch and pull every repository in parallel with one keypress.
- ๐ Checkout Branch: Switch all repositories to a branch simultaneously. Dirty repos are safely skipped.
- ๐ Compare Branches: Bidirectional branch comparison inside the console: commit logs, per-file stats with visual change bars, and inline colored diffs.
- ๐ Deep Compare & Sync: Detect real file differences that git may miss after squash merges. Creates worktrees (no re-clone needed), shows a filesystem-level preview, opens your diff tool (WinMerge, Beyond Compare, Meld, KDiff3, P4Merge, DiffMerge, or VS Code), then commits, pushes, and opens a PR.
- ๐๏ธ PR Creation: Supports Azure DevOps, GitHub, GitLab, and Bitbucket. Opens the "Create PR" page in your browser with source and target branches pre-filled.
- ๐งน Cleanup Gone Branches: Automatically deletes local branches whose remote tracking branch has been removed.
- ๐ Repository Groups: Organize repos into virtual folders (Frontend, Backend, etc.) for quick filtering.
- ๐ป Git Shell: Interactive git-only shell scoped to a selected repository.
- ๐ ๏ธ Case-Sensitivity Auto-Fix: Detects
case-insensitive filesystemerrors during pull and automatically migrates the repository to the reftable backend.
๐ฆ Installation
Option A: Standalone Binary (Recommended)
Native AOT binary โ no .NET runtime required. Download, add to PATH, and run gitor.
| Platform | Download |
|---|---|
| Windows x64 | gitor-win-x64.exe |
| Linux x64 | gitor-linux-x64 |
| macOS ARM (M1+) | gitor-osx-arm64 |
Option B: As a .NET Global Tool
Requires .NET 10 runtime.
dotnet tool install -g Gitor.Cli
โก Quick Start
# First run โ the setup wizard will guide you
gitor
# Option A: scan an existing folder with repos
> Choose setup mode: Scan existing folders
> Enter root folder path: C:\Projects
# Option B: clone from a list of URLs
> Choose setup mode: Clone repositories from URLs
> Where to create repositories folder?: C:\Work
> (paste URLs, one per line, then press Enter on empty line)
โจ๏ธ Keyboard Shortcuts (Main Menu)
| Key | Action |
|---|---|
1โ9 |
Quick select menu item |
0 |
Last item (Exit/Back) |
โ / โ or k / j |
Navigate |
Enter |
Confirm |
Esc or Q |
Back / Exit |
๐ป Command Line Interface (CLI)
While running gitor opens the interactive dashboard, you can also use CLI commands for specific operations.
Add the --help flag to any command for more details.
Available Commands:
gitor statusโ Show repository status table and exit.gitor pullโ Pull all repositories.gitor checkout <branch>โ Checkout a specific branch in all repositories.gitor compare <branchA> <branchB>โ Non-interactive deep compare between two branches.gitor pruneโ Delete local branches whose remote tracking branch has been deleted.
Global Options:
-gor--group <GROUP>โ Filter repositories by a specific group defined in configuration. Can be used with any of the above commands (e.g.,gitor pull -g Backend).
โ๏ธ Configuration & Requirements
Requirements:
- .NET 10 SDK (only for building from source)
- git 2.37+ must be available in
PATH - For Deep Compare: an external diff tool is recommended.
Storage:
- Config is stored in
%APPDATA%/Gitor/config.json(Windows) or~/.config/Gitor/config.json(Linux/macOS). - Logs are written to
%APPDATA%/Gitor/logs/with daily rotation (7 days retained).
๐ Supported Git Providers
| Provider | PR URL Generation | Tested |
|---|---|---|
| Azure DevOps | โ HTTPS + SSH | โ |
| GitHub | โ HTTPS + SSH | โ |
| GitLab | โ HTTPS + SSH | โ |
| Bitbucket | โ HTTPS + SSH | โ |
๐ ๏ธ Building from Source
git clone https://github.com/kovercc/gitor.git
cd gitor
dotnet build
dotnet run --project Gitor.ConsoleApp
Publishing a native AOT binary
# Windows
dotnet publish Gitor.ConsoleApp -c Release -r win-x64
# Linux
dotnet publish Gitor.ConsoleApp -c Release -r linux-x64
# macOS Apple Silicon
dotnet publish Gitor.ConsoleApp -c Release -r osx-arm64
All AOT / self-contained / trimming settings are already configured in the
.csproj.
Running Tests
dotnet test
๐ Project Structure
โโโ Gitor.Core/ # Domain: models, interfaces, helpers (zero dependencies)
โ โโโ Configuration/ # UserConfig, DiffToolSettings, RepositoryGroup, GitProvider
โ โโโ Entities/ # GitRepository
โ โโโ Exceptions/ # GitException, GitErrorCode
โ โโโ Helpers/ # PR URL builders, GitUrlValidator, FileSystemDiffHelper
โ โโโ Interfaces/ # IGitService, IDiffService, IUserConfigService, ...
โ โโโ Models/ # BatchResult, CommitInfo, DiffStat, DiffLine, FileSystemDiffResult
โ
โโโ Gitor.Infrastructure/ # Git CLI wrapper, file-based config, diff tool launcher
โ โโโ Constants/ # GitConsts, DiffToolConsts
โ โโโ Services/ # CliWrapGitService, ConfigurableDiffService, FileUserConfigService, ...
โ
โโโ Gitor.ConsoleApp/ # Spectre.Console UI, workflows, DI composition root
โ โโโ UI/ # ConsoleTheme, DiffRenderer, GroupedMenu, BranchHelper, LogoRenderer
โ โโโ Workflows/ # SetupWorkflow, NavigationWorkflow, CompareWorkflow, MaintenanceWorkflow
โ โโโ Constants/ # AppConsts, MenuDefinitions, Enums
โ
โโโ Gitor.Tests/ # Unit tests (xUnit)
๐ค Contributing
See CONTRIBUTING.md for guidelines.
๐ License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.3 | 88 | 2/27/2026 |