A comprehensive Git operations tool with advanced features
Project description
Git Operations Tool
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
- Auto commit and push all files: Quickest way to save everything.
- Interactive Add & Push: Select specific files to commit.
- Create branch: Create a new branch from the current HEAD.
- List branches: See all local and remote branches.
- Checkout branch: Switch to another branch.
- Delete branch: Remove a branch.
- Merge branch: Merge another branch into your current one.
- Pull changes: Update your local branch from the remote.
- Push changes: Push your local commits to the remote.
- Show status: See what's changed in your working directory.
- Show commit log: View recent commit history.
- Show graph log: View a visual graph of the commit tree.
- Create pull request: Open a PR on GitHub.
- Stash changes: Temporarily save changes.
- Apply stash: Restore stashed changes.
- Manage Tags: Submenu for creating, listing, and deleting tags.
- Manage Remotes: Submenu for adding or removing remotes.
- Exit: Close the tool.
Development
To contribute or run from source:
-
Clone the repository:
git clone https://github.com/Idk507/git_operations_tool.git cd git-operations-tool
-
Install dependencies:
pip install -r requirements.txt
-
Run the tool:
python main.py -
Run tests:
python -m unittest discover tests
License
MIT License - See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f932096bb3ae8df864a3823cdb075e901df322d93ee15153290932695028133
|
|
| MD5 |
a1bf416adcc862cdfaacfc7c9d95b277
|
|
| BLAKE2b-256 |
71c56b1acbd9b4f63ee019175356418225f512eabe4c923f3843db818edaa2e1
|
File details
Details for the file git_operations_tool-0.4.1-py3-none-any.whl.
File metadata
- Download URL: git_operations_tool-0.4.1-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efa7d552a52a6e2600f5e16d1cd02c3e173598f4d75178fdf26c56bc1a2897a0
|
|
| MD5 |
55f19d4f324db4a0e5714181764b37a1
|
|
| BLAKE2b-256 |
bc9bf3892c2176def956b7c45369e96f5d74792bd7a0134e09a7e5e3502ac50e
|