git-cli-tool


Namegit-cli-tool JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryA professional Git CLI wrapper with enhanced user experience
upload_time2025-07-12 09:00:21
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseMIT
keywords git cli tool wrapper version-control
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # πŸš€ Git CLI Tool

A professional, user-friendly Git command-line wrapper that makes Git operations intuitive and efficient.

## ✨ Features

### 🎯 Core Functionality
- **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

### πŸ› οΈ Advanced Features
- **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

### 🎨 User Experience
- **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

## πŸ“‹ Requirements

- Python 3.7+
- Git (installed and in PATH)
- Terminal with color support (recommended)

## πŸ”§ Installation

### Option 1: Direct Download
```bash
# Download the script
curl -O https://raw.githubusercontent.com/AmirHoseinBlue24/git-cli-tool/main/git_cli_tool.py

# Make it executable
chmod +x git_cli_tool.py

# Run directly
python git_cli_tool.py
```

### Option 2: Package Installation
```bash
# 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
```

### Option 3: System-wide Installation
```bash
# 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
```

## πŸš€ Quick Start

1. **Launch the tool**:
   ```bash
   python git_cli_tool.py
   ```

2. **Select or create a repository**:
   - Use existing repository
   - Browse recent repositories
   - Initialize new repository

3. **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

## πŸ“– Usage Guide

### 🏠 Main Menu Options

| 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 |

### 🌿 Branch Management

```bash
# 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
```

### βš™οΈ Configuration

The tool maintains configuration in `~/.gitool_config.json`:

```json
{
  "default_branch": "main",
  "auto_push": false,
  "preferred_repos": [
    "/path/to/your/repo1",
    "/path/to/your/repo2"
  ],
  "commit_template": ""
}
```

## 🎯 Common Workflows

### πŸ“ Basic Development Workflow
1. Launch tool and select repository
2. Check status to see changes
3. Add files (specific or all)
4. Commit with descriptive message
5. Push to remote repository

### πŸ”„ Feature Development
1. Create new feature branch
2. Make changes and commit regularly
3. Push feature branch
4. Merge back to main branch
5. Delete feature branch

### ⚑ Quick Updates
1. Use "Quick Commit" option
2. Enter commit message
3. Everything is handled automatically

## 🎨 Visual Features

### Color Coding
- 🟒 **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

### Status Indicators
- `βœ“` Success operations
- `βœ—` Error conditions
- `⚠` Warning messages
- `β„Ή` Information
- `*` Current branch
- `+` Added files
- `M` Modified files
- `D` Deleted files
- `?` Untracked files

## πŸ”§ Advanced Configuration

### Environment Variables
```bash
# Set default configuration
export GITOOL_DEFAULT_BRANCH="main"
export GITOOL_AUTO_PUSH="true"
export GITOOL_EDITOR="nano"
```

### Custom Commit Templates
Create commit templates for consistent messaging:
```bash
# In your repository
echo "feat: " > .gitmessage
git config commit.template .gitmessage
```

## πŸ› Troubleshooting

### Common Issues

**Git not found**:
```bash
# Install Git
sudo apt install git  # Ubuntu/Debian
brew install git       # macOS
```

**Permission denied**:
```bash
# Make script executable
chmod +x git_cli_tool.py
```

**Python version issues**:
```bash
# Check Python version
python --version
# Use Python 3 explicitly
python3 git_cli_tool.py
```

**Remote repository issues**:
```bash
# Check remote configuration
git remote -v
# Add remote if missing
git remote add origin https://github.com/AmirHoseinBlue24/git-cli-tool.git
```

### Error Recovery
- The tool provides helpful error messages
- Most operations can be retried
- Configuration is automatically backed up
- Safe defaults prevent data loss

## 🀝 Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Test thoroughly
5. Submit a pull request

### Development Setup
```bash
# 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 .
```

## πŸ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## πŸ™ Acknowledgments

- Built with Python standard library only
- Inspired by the need for better Git UX
- Designed for developers who value efficiency
- Created with ❀️ by AmirHoseinBlue24

## πŸ”— Links

- [GitHub Repository](https://github.com/AmirHoseinBlue24/git-cli-tool)
- [Issue Tracker](https://github.com/AmirHoseinBlue24/git-cli-tool/issues)
- [Documentation](https://github.com/AmirHoseinBlue24/git-cli-tool/wiki)

---

**Made with ❀️ for the developer community**

*Transform your Git experience from complex to simple, from tedious to efficient.*

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "git-cli-tool",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "\u064eAmirHoseinBlue <amirakhlagh893@gmail.com>",
    "keywords": "git, cli, tool, wrapper, version-control",
    "author": null,
    "author_email": "\u064eAmirHoseinBlue <amirakhlagh893@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/a5/dc/400f6e7ad620e3ca78b316cf81ec206b50c16344415625f28bc16e72e72a/git_cli_tool-1.0.0.tar.gz",
    "platform": null,
    "description": "# \ud83d\ude80 Git CLI Tool\r\n\r\nA professional, user-friendly Git command-line wrapper that makes Git operations intuitive and efficient.\r\n\r\n## \u2728 Features\r\n\r\n### \ud83c\udfaf Core Functionality\r\n- **Interactive Repository Management**: Easy repository selection and switching\r\n- **Smart Branch Operations**: Create, switch, merge, and delete branches with ease\r\n- **Streamlined File Management**: Add files with visual selection\r\n- **Intelligent Commit System**: Guided commit creation with optional detailed descriptions\r\n- **Automated Push/Pull**: Seamless remote repository synchronization\r\n\r\n### \ud83d\udee0\ufe0f Advanced Features\r\n- **Quick Commit Workflow**: One-command add, commit, and push\r\n- **Repository Status Dashboard**: Visual representation of repository state\r\n- **Branch Management Suite**: Complete branch lifecycle management\r\n- **Configuration System**: Persistent settings and preferences\r\n- **Repository History**: Recent repositories quick access\r\n- **Auto-initialization**: Create new repositories with best practices\r\n\r\n### \ud83c\udfa8 User Experience\r\n- **Colorful Interface**: Beautiful terminal output with color coding\r\n- **Error Handling**: Comprehensive error messages and recovery\r\n- **Persian/English Support**: Full Unicode support for commit messages\r\n- **Keyboard Shortcuts**: Efficient navigation and operation\r\n- **Progress Indicators**: Visual feedback for long-running operations\r\n\r\n## \ud83d\udccb Requirements\r\n\r\n- Python 3.7+\r\n- Git (installed and in PATH)\r\n- Terminal with color support (recommended)\r\n\r\n## \ud83d\udd27 Installation\r\n\r\n### Option 1: Direct Download\r\n```bash\r\n# Download the script\r\ncurl -O https://raw.githubusercontent.com/AmirHoseinBlue24/git-cli-tool/main/git_cli_tool.py\r\n\r\n# Make it executable\r\nchmod +x git_cli_tool.py\r\n\r\n# Run directly\r\npython git_cli_tool.py\r\n```\r\n\r\n### Option 2: Package Installation\r\n```bash\r\n# Clone the repository\r\ngit clone https://github.com/AmirHoseinBlue24/git-cli-tool.git\r\ncd git-cli-tool\r\n\r\n# Install as package\r\npip install -e .\r\n\r\n# Run from anywhere\r\ngitool\r\n```\r\n\r\n### Option 3: System-wide Installation\r\n```bash\r\n# Copy to system path\r\nsudo cp git_cli_tool.py /usr/local/bin/gitool\r\nsudo chmod +x /usr/local/bin/gitool\r\n\r\n# Run from anywhere\r\ngitool\r\n```\r\n\r\n## \ud83d\ude80 Quick Start\r\n\r\n1. **Launch the tool**:\r\n   ```bash\r\n   python git_cli_tool.py\r\n   ```\r\n\r\n2. **Select or create a repository**:\r\n   - Use existing repository\r\n   - Browse recent repositories\r\n   - Initialize new repository\r\n\r\n3. **Choose your workflow**:\r\n   - **Quick commit**: Add all files, commit, and push in one go\r\n   - **Manual control**: Step-by-step file management\r\n   - **Branch management**: Create and switch branches easily\r\n\r\n## \ud83d\udcd6 Usage Guide\r\n\r\n### \ud83c\udfe0 Main Menu Options\r\n\r\n| Option | Description | Usage |\r\n|--------|-------------|-------|\r\n| \ud83d\udcca Show Status | Display repository status with visual indicators | View modified, added, deleted, and untracked files |\r\n| \ud83d\udcdd Add Files | Interactive file selection for staging | Choose specific files or add all changes |\r\n| \ud83d\udcbe Commit Changes | Create commits with guided prompts | Add commit message and optional description |\r\n| \ud83d\ude80 Push Changes | Push commits to remote repository | Automatic remote detection and branch pushing |\r\n| \u2b07\ufe0f Pull Changes | Pull latest changes from remote | Sync with remote repository |\r\n| \u26a1 Quick Commit | One-step add, commit, and push | Fastest way to save and sync changes |\r\n\r\n### \ud83c\udf3f Branch Management\r\n\r\n```bash\r\n# The tool provides interactive branch management:\r\n- List all local and remote branches\r\n- Create new branches with automatic switching\r\n- Delete branches with safety confirmations\r\n- Merge branches with conflict detection\r\n- Switch between branches seamlessly\r\n```\r\n\r\n### \u2699\ufe0f Configuration\r\n\r\nThe tool maintains configuration in `~/.gitool_config.json`:\r\n\r\n```json\r\n{\r\n  \"default_branch\": \"main\",\r\n  \"auto_push\": false,\r\n  \"preferred_repos\": [\r\n    \"/path/to/your/repo1\",\r\n    \"/path/to/your/repo2\"\r\n  ],\r\n  \"commit_template\": \"\"\r\n}\r\n```\r\n\r\n## \ud83c\udfaf Common Workflows\r\n\r\n### \ud83d\udcdd Basic Development Workflow\r\n1. Launch tool and select repository\r\n2. Check status to see changes\r\n3. Add files (specific or all)\r\n4. Commit with descriptive message\r\n5. Push to remote repository\r\n\r\n### \ud83d\udd04 Feature Development\r\n1. Create new feature branch\r\n2. Make changes and commit regularly\r\n3. Push feature branch\r\n4. Merge back to main branch\r\n5. Delete feature branch\r\n\r\n### \u26a1 Quick Updates\r\n1. Use \"Quick Commit\" option\r\n2. Enter commit message\r\n3. Everything is handled automatically\r\n\r\n## \ud83c\udfa8 Visual Features\r\n\r\n### Color Coding\r\n- \ud83d\udfe2 **Green**: Success messages, current branch, clean files\r\n- \ud83d\udd34 **Red**: Error messages, deleted files\r\n- \ud83d\udfe1 **Yellow**: Warning messages, modified files\r\n- \ud83d\udd35 **Blue**: Information messages, branch names\r\n- \ud83d\udfe3 **Purple**: Headers and titles\r\n- \ud83d\udd37 **Cyan**: Untracked files, special info\r\n\r\n### Status Indicators\r\n- `\u2713` Success operations\r\n- `\u2717` Error conditions\r\n- `\u26a0` Warning messages\r\n- `\u2139` Information\r\n- `*` Current branch\r\n- `+` Added files\r\n- `M` Modified files\r\n- `D` Deleted files\r\n- `?` Untracked files\r\n\r\n## \ud83d\udd27 Advanced Configuration\r\n\r\n### Environment Variables\r\n```bash\r\n# Set default configuration\r\nexport GITOOL_DEFAULT_BRANCH=\"main\"\r\nexport GITOOL_AUTO_PUSH=\"true\"\r\nexport GITOOL_EDITOR=\"nano\"\r\n```\r\n\r\n### Custom Commit Templates\r\nCreate commit templates for consistent messaging:\r\n```bash\r\n# In your repository\r\necho \"feat: \" > .gitmessage\r\ngit config commit.template .gitmessage\r\n```\r\n\r\n## \ud83d\udc1b Troubleshooting\r\n\r\n### Common Issues\r\n\r\n**Git not found**:\r\n```bash\r\n# Install Git\r\nsudo apt install git  # Ubuntu/Debian\r\nbrew install git       # macOS\r\n```\r\n\r\n**Permission denied**:\r\n```bash\r\n# Make script executable\r\nchmod +x git_cli_tool.py\r\n```\r\n\r\n**Python version issues**:\r\n```bash\r\n# Check Python version\r\npython --version\r\n# Use Python 3 explicitly\r\npython3 git_cli_tool.py\r\n```\r\n\r\n**Remote repository issues**:\r\n```bash\r\n# Check remote configuration\r\ngit remote -v\r\n# Add remote if missing\r\ngit remote add origin https://github.com/AmirHoseinBlue24/git-cli-tool.git\r\n```\r\n\r\n### Error Recovery\r\n- The tool provides helpful error messages\r\n- Most operations can be retried\r\n- Configuration is automatically backed up\r\n- Safe defaults prevent data loss\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\n1. Fork the repository\r\n2. Create a feature branch\r\n3. Make your changes\r\n4. Test thoroughly\r\n5. Submit a pull request\r\n\r\n### Development Setup\r\n```bash\r\n# Clone for development\r\ngit clone https://github.com/AmirHoseinBlue24/git-cli-tool.git\r\ncd git-cli-tool\r\n\r\n# Create virtual environment\r\npython -m venv venv\r\nsource venv/bin/activate  # Linux/Mac\r\nvenv\\Scripts\\activate     # Windows\r\n\r\n# Install in development mode\r\npip install -e .\r\n```\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## \ud83d\ude4f Acknowledgments\r\n\r\n- Built with Python standard library only\r\n- Inspired by the need for better Git UX\r\n- Designed for developers who value efficiency\r\n- Created with \u2764\ufe0f by AmirHoseinBlue24\r\n\r\n## \ud83d\udd17 Links\r\n\r\n- [GitHub Repository](https://github.com/AmirHoseinBlue24/git-cli-tool)\r\n- [Issue Tracker](https://github.com/AmirHoseinBlue24/git-cli-tool/issues)\r\n- [Documentation](https://github.com/AmirHoseinBlue24/git-cli-tool/wiki)\r\n\r\n---\r\n\r\n**Made with \u2764\ufe0f for the developer community**\r\n\r\n*Transform your Git experience from complex to simple, from tedious to efficient.*\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A professional Git CLI wrapper with enhanced user experience",
    "version": "1.0.0",
    "project_urls": {
        "Bug Reports": "https://github.com/\u064eAmirHoseinBlue24/git-cli-tool/issues",
        "Homepage": "https://github.com/\u064eAmirHoseinBlue24/git-cli-tool",
        "Source": "https://github.com/\u064eAmirHoseinBlue24/git-cli-tool"
    },
    "split_keywords": [
        "git",
        " cli",
        " tool",
        " wrapper",
        " version-control"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "48b90c62caa384b46419dc7318376bd6ee6022d8b19d99c058cc10451434f2ee",
                "md5": "72da2c79469a8bc1f3446e8aba41c3ee",
                "sha256": "46e3c4dacec284faa3bd211e60ccf181f20025c4ac4f2738a67165bb8a45eb3b"
            },
            "downloads": -1,
            "filename": "git_cli_tool-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "72da2c79469a8bc1f3446e8aba41c3ee",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 12411,
            "upload_time": "2025-07-12T09:00:19",
            "upload_time_iso_8601": "2025-07-12T09:00:19.736949Z",
            "url": "https://files.pythonhosted.org/packages/48/b9/0c62caa384b46419dc7318376bd6ee6022d8b19d99c058cc10451434f2ee/git_cli_tool-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a5dc400f6e7ad620e3ca78b316cf81ec206b50c16344415625f28bc16e72e72a",
                "md5": "e057a6b431c7ac0aa75b36e9778c6fd7",
                "sha256": "83d465e240c79e5456b4747376afee4d0d3ea871bff59b76b29db85fcd840e49"
            },
            "downloads": -1,
            "filename": "git_cli_tool-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e057a6b431c7ac0aa75b36e9778c6fd7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 11649,
            "upload_time": "2025-07-12T09:00:21",
            "upload_time_iso_8601": "2025-07-12T09:00:21.264933Z",
            "url": "https://files.pythonhosted.org/packages/a5/dc/400f6e7ad620e3ca78b316cf81ec206b50c16344415625f28bc16e72e72a/git_cli_tool-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-12 09:00:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "\u064eAmirHoseinBlue24",
    "github_project": "git-cli-tool",
    "github_not_found": true,
    "lcname": "git-cli-tool"
}
        
Elapsed time: 0.43230s