A beautiful TUI (Text User Interface) application that makes Git easy for beginners. Featuring a classic blue DOS-style interface that guides you through common Git operations without needing to memorize commands.
- Initialize Repository - Set up Git in any directory with one click
- View Status - See all your changes at a glance with color-coded files
- Stage Files - Interactive file selector to choose what to commit
- Commit Changes - Simple text input for commit messages
- Push & Pull - Sync with remote repositories easily
- Branch Management
- Create new branches
- Switch between branches
- Rename branches
- Delete branches
- Stash Changes - Temporarily save your work
- View Commit Log - Browse your commit history
- Discard Changes - Reset when things go wrong
# Add the tap (first time only)
brew tap assaffeuerstein/gitler
# Install gitler
brew install gitlerRequires Xcode 14+ and macOS 12 (Monterey) or later.
# Clone the repository
git clone https://github.com/assaffeuerstein/gitler.git
cd gitler
# Build with Swift Package Manager
swift build -c release
# Install to /usr/local/bin (optional)
sudo cp .build/release/gitler /usr/local/bin/Simply navigate to any directory in your terminal and run:
gitler| Key | Action |
|---|---|
| ↑/↓ | Navigate menu items |
| Enter | Select/confirm |
| Esc | Go back/cancel |
| Space | Toggle selection (in file lists) |
| A | Select all (in file lists) |
| N | Select none (in file lists) |
| Q | Quit the application |
The main menu shows shortcuts for common actions:
- S - View Status
- A - Stage Files
- C - Commit Changes
- P - Push to Remote
- L - Pull from Remote
- B - Branch Management
- T - Stash Changes
- G - View Commit Log
- D - Discard All Changes
- I - Initialize Repository (when not in a git repo)
The main menu adapts based on whether you're in a Git repository:
┌──────────────────────────────────────────────────────────┐
│ GITLER v1.0 │
│ Git Helper for Humans │
├──────────────────────────────────────────────────────────┤
│ │
│ ▶ View Status │
│ Stage Files │
│ Commit Changes │
│ Push to Remote │
│ Pull from Remote │
│ ───────────────── │
│ Branch Management → │
│ Stash Changes → │
│ ───────────────── │
│ Exit │
│ │
├──────────────────────────────────────────────────────────┤
│ ⎇ main │ ✓ Clean │ Remote: origin │
└──────────────────────────────────────────────────────────┘
Select which files to stage with an intuitive checkbox interface:
┌─────────────────── Select Files to Stage ────────────────┐
│ │
│ [✓] M src/main.swift │
│ [✓] M src/utils.swift │
│ [ ] ? .DS_Store │
│ [✓] A README.md │
│ │
│ Selected: 3/4 Space: Toggle | A: All | Enter: Confirm │
└──────────────────────────────────────────────────────────┘
Gitler works out of the box with no configuration needed. It uses your existing Git configuration (user name, email, remotes, etc.).
- macOS 12 (Monterey) or later
- Git installed and available in PATH
- Terminal that supports ANSI escape codes (Terminal.app, iTerm2, etc.)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by classic DOS interfaces and TUI applications
- Built with Swift for native macOS performance
- Thanks to all contributors and users!
Make sure your terminal supports:
- Unicode characters (for box drawing)
- ANSI color codes (256 color support recommended)
- Alternative screen buffer
Try running in Terminal.app or iTerm2 if you have issues.
Ensure Git is installed and configured:
git --version
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"Press any key after resizing to refresh the display.
