Skip to main content

A comprehensive Git operations tool with advanced features

Project description

Git Operations Tool

PyPI version Python versions License CI/CD

A comprehensive, interactive command-line interface (CLI) for managing Git repositories. This tool simplifies common Git workflows, making it easier to manage branches, commits, tags, remotes, and pull requests without memorizing complex Git commands.

Features

🚀 Core Operations

  • Auto Commit & Push: Automatically stage, commit, and push all changes with a single command. Supports bulk commits or individual file commits.
  • Interactive Add & Push: Select specific files to stage and commit from a list of changed files. Perfect for granular commits.
  • Safe Pushing: Built-in retry logic and safety checks to handle network interruptions or non-fast-forward updates gracefully.

🌿 Branch Management

  • Create & Checkout: Easily create new branches and switch between them.
  • List Branches: View all local and remote branches.
  • Merge & Delete: Merge branches into the current branch or delete old branches.

🏷️ Tag & Release Management

  • Manage Tags: Create lightweight or annotated tags for releases (e.g., v1.0.0).
  • Push Tags: Push tags to the remote repository.
  • Delete Tags: Remove tags locally and from the remote.

🌐 Remote Management

  • Manage Remotes: Add, list, and remove remote repositories (e.g., origin, upstream) directly from the tool.

🤝 Collaboration

  • Pull Requests: Create GitHub pull requests directly from the CLI (requires GitHub Personal Access Token).

📊 Insights & Logs

  • Status Dashboard: View the current status of your repository (modified, staged, untracked files).
  • Commit Logs: View the commit history.
  • Visual Graph: Visualize the commit history tree with a graph view (git log --graph).

Installation

You can install the tool directly from PyPI:

pip install git-operations-tool

Usage

After installation, simply run the tool from your terminal within a Git repository (or it will prompt you to clone/init one):

git-ops

Main Menu Options

  1. Auto commit and push all files: Quickest way to save everything.
  2. Interactive Add & Push: Select specific files to commit.
  3. Create branch: Create a new branch from the current HEAD.
  4. List branches: See all local and remote branches.
  5. Checkout branch: Switch to another branch.
  6. Delete branch: Remove a branch.
  7. Merge branch: Merge another branch into your current one.
  8. Pull changes: Update your local branch from the remote.
  9. Push changes: Push your local commits to the remote.
  10. Show status: See what's changed in your working directory.
  11. Show commit log: View recent commit history.
  12. Show graph log: View a visual graph of the commit tree.
  13. Create pull request: Open a PR on GitHub.
  14. Stash changes: Temporarily save changes.
  15. Apply stash: Restore stashed changes.
  16. Manage Tags: Submenu for creating, listing, and deleting tags.
  17. Manage Remotes: Submenu for adding or removing remotes.
  18. Exit: Close the tool.

Development

To contribute or run from source:

  1. Clone the repository:

    git clone https://github.com/Idk507/git_operations_tool.git
    cd git-operations-tool
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run the tool:

    python main.py
    
  4. Run tests:

    python -m unittest discover tests
    

License

MIT License - See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git_operations_tool-0.4.1.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

git_operations_tool-0.4.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file git_operations_tool-0.4.1.tar.gz.

File metadata

  • Download URL: git_operations_tool-0.4.1.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.10

File hashes

Hashes for git_operations_tool-0.4.1.tar.gz
Algorithm Hash digest
SHA256 7f932096bb3ae8df864a3823cdb075e901df322d93ee15153290932695028133
MD5 a1bf416adcc862cdfaacfc7c9d95b277
BLAKE2b-256 71c56b1acbd9b4f63ee019175356418225f512eabe4c923f3843db818edaa2e1

See more details on using hashes here.

File details

Details for the file git_operations_tool-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for git_operations_tool-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 efa7d552a52a6e2600f5e16d1cd02c3e173598f4d75178fdf26c56bc1a2897a0
MD5 55f19d4f324db4a0e5714181764b37a1
BLAKE2b-256 bc9bf3892c2176def956b7c45369e96f5d74792bd7a0134e09a7e5e3502ac50e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page