GitPilot Documentation
Visual Git workflow management and execution platform.
What is GitPilot?
GitPilot transforms complex, multi-step Git operations into a visual drag-and-drop interface. Place branch nodes on a canvas, connect them with operations (merge, rebase, push, pull, etc.), preview every command before it runs, and execute the whole workflow in real-time with live terminal feedback.
Visual Drag-and-Drop
Design branch networks and connect operations on an interactive canvas.
Real-time Execution
Live terminal logs, progress tracking, and instant feedback.
Risk Analysis
Dry-run preview with risk ratings before anything runs.
Smart Dependencies
Automatic ordering with parallel execution of independent steps.
Try the Playground
GitPilot Playground
Explore the workflow editor directly in your browser — no installation, no backend, no Git repository needed.
Installation
Requires Node.js v18+, npm v9+, and Git v2.25+.
Quick Install (one command)
curl -fsSL https://raw.githubusercontent.com/himalaya0035/GitPilot/main/install.sh | bash
This clones the repo, creates the env file, installs all dependencies, and tells you how to start. Or follow the manual steps below:
Manual Setup
-
Clone the repository
Using HTTPS:
git clone https://github.com/himalaya0035/GitPilot.git cd GitPilotOr using SSH:
git clone git@github.com:himalaya0035/GitPilot.git cd GitPilot -
Create the environment file
cp backend/.env.example backend/.envBy default GitPilot uses in-memory storage (workflows are lost on restart). To persist data, open
backend/.envand setUSE_MONGODB=truewith your MongoDB connection string. -
Run the startup script
Installs all dependencies automatically and starts both servers:
chmod +x start-dev.sh ./start-dev.sh - Open GitPilot at http://localhost:3000
Connecting a Repository
Click "Connect Repository" in the top bar and enter the absolute path to any Git repository on your machine. GitPilot validates the path, detects your current branch, checks for uncommitted changes, and lists all branches. Recently connected repos are saved for quick switching.
Note: GitPilot prevents connecting to its own directory as a safety measure.
Workflow Editor
The editor is a visual canvas where you place branch nodes and connect them with operation edges. Each branch is color-coded by type (production, feature, develop, release, hotfix, staging, integration) and can be configured with auto-pull/push, remote settings, and tags. Click any edge to configure the operation's options. Use the Beautify button to auto-arrange the layout.
Operations
Seven fully configurable Git operations:
| Operation | What it does |
|---|---|
| Checkout | Create, switch, or reset branches. Force checkout supported. |
| Merge | Standard, squash, or fast-forward merge with custom commit messages. |
| Rebase | Rebase onto another branch. Interactive and --onto supported. |
| Push | Push to remote with standard, --force-with-lease, or --force options. |
| Pull | Fetch and merge from remote. Optional --rebase mode. |
| Delete Branch | Delete local, remote, or both. Force delete for unmerged branches. |
| Tag | Create lightweight or annotated tags, push/delete remote tags. |
Features
Preview & Risk Analysis
Run a dry-run preview before executing. Every command is shown with a risk level (low / medium / high), warnings for dangerous operations, estimated duration, and conflict predictions.
Execution Engine
Hit Run and watch a live terminal feed of every Git command. The engine resolves dependencies automatically, runs independent operations in parallel, and lets you abort at any time. Configure abort-on-error or continue-on-error per workflow.
Workflow Management
Save, load, duplicate, import/export (JSON), and search workflows. Browse execution history with full logs and timestamps. Auto-save keeps your work safe with Ctrl + S.
Architecture
React frontend communicating with a Node.js/Express backend over REST and WebSockets (Socket.IO).
Frontend
React 18, React Flow, Dagre, Lucide, Socket.IO Client
Backend
Express, Socket.IO, child_process, In-memory or MongoDB storage