A professional, user-friendly Git command-line wrapper that makes Git operations intuitive and efficient.
- Interactive Repository Management: Easy repository selection and switching
- Smart Branch Operations: Create, switch, merge, and delete branches with ease
- Streamlined File Management: Add files with visual selection
- Intelligent Commit System: Guided commit creation with optional detailed descriptions
- Automated Push/Pull: Seamless remote repository synchronization
- Quick Commit Workflow: One-command add, commit, and push
- Repository Status Dashboard: Visual representation of repository state
- Branch Management Suite: Complete branch lifecycle management
- Configuration System: Persistent settings and preferences
- Repository History: Recent repositories quick access
- Auto-initialization: Create new repositories with best practices
- Colorful Interface: Beautiful terminal output with color coding
- Error Handling: Comprehensive error messages and recovery
- Persian/English Support: Full Unicode support for commit messages
- Keyboard Shortcuts: Efficient navigation and operation
- Progress Indicators: Visual feedback for long-running operations
- Python 3.7+
- Git (installed and in PATH)
- Terminal with color support (recommended)
# Download package
pip install git-cli-tool==1.0.0
# Run from anywhere
gitool
# Download the script
curl -O https://raw.githubusercontent.com/AmirHoseinBlue24/git-cli-tool/main/src/git_cli_tool.py
# Make it executable
chmod +x git_cli_tool.py
# Run directly
python git_cli_tool.py
# Clone the repository
git clone https://github.com/AmirHoseinBlue24/git-cli-tool.git
cd git-cli-tool
# Install as package
pip install -e .
# Run from anywhere
gitool
# Copy to system path
sudo cp git_cli_tool.py /usr/local/bin/gitool
sudo chmod +x /usr/local/bin/gitool
# Run from anywhere
gitool
-
Launch the tool:
python git_cli_tool.py
-
Select or create a repository:
- Use existing repository
- Browse recent repositories
- Initialize new repository
-
Choose your workflow:
- Quick commit: Add all files, commit, and push in one go
- Manual control: Step-by-step file management
- Branch management: Create and switch branches easily
Option | Description | Usage |
---|---|---|
π Show Status | Display repository status with visual indicators | View modified, added, deleted, and untracked files |
π Add Files | Interactive file selection for staging | Choose specific files or add all changes |
πΎ Commit Changes | Create commits with guided prompts | Add commit message and optional description |
π Push Changes | Push commits to remote repository | Automatic remote detection and branch pushing |
β¬οΈ Pull Changes | Pull latest changes from remote | Sync with remote repository |
β‘ Quick Commit | One-step add, commit, and push | Fastest way to save and sync changes |
# The tool provides interactive branch management:
- List all local and remote branches
- Create new branches with automatic switching
- Delete branches with safety confirmations
- Merge branches with conflict detection
- Switch between branches seamlessly
The tool maintains configuration in ~/.gitool_config.json
:
{
"default_branch": "main",
"auto_push": false,
"preferred_repos": [
"/path/to/your/repo1",
"/path/to/your/repo2"
],
"commit_template": ""
}
- Launch tool and select repository
- Check status to see changes
- Add files (specific or all)
- Commit with descriptive message
- Push to remote repository
- Create new feature branch
- Make changes and commit regularly
- Push feature branch
- Merge back to main branch
- Delete feature branch
- Use "Quick Commit" option
- Enter commit message
- Everything is handled automatically
- π’ Green: Success messages, current branch, clean files
- π΄ Red: Error messages, deleted files
- π‘ Yellow: Warning messages, modified files
- π΅ Blue: Information messages, branch names
- π£ Purple: Headers and titles
- π· Cyan: Untracked files, special info
β
Success operationsβ
Error conditionsβ
Warning messagesβΉ
Information*
Current branch+
Added filesM
Modified filesD
Deleted files?
Untracked files
# Set default configuration
export GITOOL_DEFAULT_BRANCH="main"
export GITOOL_AUTO_PUSH="true"
export GITOOL_EDITOR="nano"
Create commit templates for consistent messaging:
# In your repository
echo "feat: " > .gitmessage
git config commit.template .gitmessage
Git not found:
# Install Git
sudo apt install git # Ubuntu/Debian
brew install git # macOS
Permission denied:
# Make script executable
chmod +x git_cli_tool.py
Python version issues:
# Check Python version
python --version
# Use Python 3 explicitly
python3 git_cli_tool.py
Remote repository issues:
# Check remote configuration
git remote -v
# Add remote if missing
git remote add origin https://github.com/AmirHoseinBlue24/git-cli-tool.git
- The tool provides helpful error messages
- Most operations can be retried
- Configuration is automatically backed up
- Safe defaults prevent data loss
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
# Clone for development
git clone https://github.com/AmirHoseinBlue24/git-cli-tool.git
cd git-cli-tool
# Create virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# Install in development mode
pip install -e .
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Python standard library only
- Inspired by the need for better Git UX
- Designed for developers who value efficiency
- Created with β€οΈ by AmirHoseinBlue24
Made with β€οΈ for the developer community
Transform your Git experience from complex to simple, from tedious to efficient.