Skip to main content

Git automation CLI — one command to add, commit, pull & push with smart commit messages, TUI, and GitHub repo creation

Project description

╭━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╮
┃                                                                    ┃
┃    ██████╗ ██╗   ██╗███╗   ██╗      ██████╗ ██╗████████╗         ┃
┃    ██╔══██╗██║   ██║████╗  ██║     ██╔════╝ ██║╚══██╔══╝         ┃
┃    ██████╔╝██║   ██║██╔██╗ ██║     ██║  ███╗██║   ██║            ┃
┃    ██╔══██╗██║   ██║██║╚██╗██║     ██║   ██║██║   ██║            ┃
┃    ██║  ██║╚██████╔╝██║ ╚████║     ╚██████╔╝██║   ██║            ┃
┃    ╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═══╝      ╚═════╝ ╚═╝   ╚═╝            ┃
┃                                                                    ┃
┃              ⚡ Git Operations Made Effortless ⚡                  ┃
┃          One Command · Zero Hassle · Full Control                 ┃
┃                                                                    ┃
╰━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╯

PyPI version Downloads Tests Python 3.8+ License: MIT PyPI - Status GitHub Stars

Stop memorising Git commands. Start shipping code.

RUN-GIT is a Python-powered CLI that wraps Git's most common workflows into a single, intuitive command — with auto commit messages, interactive menus, branch management, GitHub repo creation, and more. Perfect for students, hackathon builders, and any developer who wants to move fast without friction.

📦 Install · 🚀 Quick Start · 📖 Commands · 🤝 Contribute


✨ Why RUN-GIT?

Tired of typing four commands every time you want to save your work?

# The old way — every single time
git add .
git commit -m "update"
git pull origin main
git push origin main

# The RUN-GIT way
run-git push

That's it. One command does all four steps, auto-generates a meaningful commit message, handles conflicts, and pushes — safely.


🎯 Features

Feature Description
One-Command Push run-git push does add → commit → pull → push automatically
🤖 Smart Commit Messages Auto-generates Conventional Commits style messages based on your changes
🎨 Interactive TUI Full terminal menu — no flags to remember
🆕 GitHub Repo Creator Create public/private repos from the CLI without leaving your terminal
🌿 Branch Management Create, switch, merge, and delete branches with simple commands
🔐 Secret File Guard Warns you before accidentally pushing .env, tokens, or credentials
🔀 Conflict Helper Guided, interactive merge-conflict resolution
🔄 Smart Sync Pull + push in one step, with auto-retry on failure
📊 Rich Status View Colour-coded, table-based status output powered by Rich
🔧 Remote Management Intelligently handles existing remotes and URL mismatches

📦 Installation

pip install run-git

Requires Python 3.8+. Works on macOS, Linux, and Windows.

First time? Set your GitHub token once with run-git init and you're ready to go.


🚀 Quick Start

Push your changes (most common workflow)

run-git push                        # auto commit message + push
run-git push -m "feat: add login"   # custom commit message

Launch the interactive menu

run-git          # full TUI — no commands to memorise

Create a new GitHub repository

run-git new my-project                              # guided wizard
run-git new my-project --quick                      # sensible defaults, no prompts
run-git new my-api -d "REST API" --public -g Python -l MIT   # full control

Initialise a repository

run-git init                                    # new local repo
run-git init https://github.com/user/repo.git  # clone existing repo

📖 Command Reference

Command Description
run-git Open the interactive TUI menu
run-git push Add, commit, pull, and push in one step
run-git push -m "<msg>" Push with a custom commit message
run-git new <name> Create a new GitHub repository
run-git init Initialise a local or cloned repository
run-git status Rich colour-coded repository status
run-git log Formatted commit history
run-git branch List all branches
run-git branch <name> Create a new branch
run-git switch <name> Switch to a branch
run-git merge <name> Merge a branch into the current one
run-git pull Pull latest changes
run-git sync Pull then push (keep in sync)
run-git remote Show configured remotes
run-git stash Stash uncommitted changes
run-git undo Undo the last commit (keeps changes staged)
run-git --version Show installed version
run-git --help Show help for any command

🤖 Auto Commit Messages

RUN-GIT analyses your staged changes and generates Conventional Commits style messages automatically:

feat: add authentication module (3 files added)
fix: update user validation logic (2 files modified)
docs: update README and contributing guide (1 file modified)
refactor: remove deprecated helper functions (2 files deleted)

No more git commit -m "stuff" or git commit -m "fix".


🆚 How Does It Compare?

Raw Git GitHub CLI (gh) RUN-GIT
Push in one command
Auto commit messages
Interactive TUI menu Partial
Create GitHub repos
Secret file warnings
Learning curve High Medium Zero

RUN-GIT is a speed layer on top of Git — not a replacement. Use it for daily work; reach for git or gh when you need fine-grained control.


💡 Who Is It For?

  • 🎓 Students & beginners learning Git without drowning in flags
  • 🚀 Hackathon builders who need to ship fast
  • Indie developers doing solo projects with quick iteration cycles
  • 🔁 Any developer who runs the same four Git commands dozens of times a day

🤝 Contributing

Contributions, bug reports, and feature requests are all welcome! Please read CONTRIBUTING.md before opening a pull request.

git clone https://github.com/himanshu231204/gitpush.git
cd gitpush
pip install -e ".[test]"
pytest

📝 License

Distributed under the MIT License — see LICENSE for details.


👨‍💻 Author

Himanshu Kumar@himanshu231204

Built with ❤️ to make every developer's Git life a little simpler.


If RUN-GIT saves you time, please consider giving it a ⭐ — it helps others find the project!

Star History Chart

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

run_git-1.1.0.tar.gz (345.6 kB view details)

Uploaded Source

Built Distribution

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

run_git-1.1.0-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file run_git-1.1.0.tar.gz.

File metadata

  • Download URL: run_git-1.1.0.tar.gz
  • Upload date:
  • Size: 345.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for run_git-1.1.0.tar.gz
Algorithm Hash digest
SHA256 2813a9ed2f69d925f8fa5fca56da253b99279ce8045de34c8163ca23ecf038dc
MD5 d488088efe1f3a80b465d40d608f4a2a
BLAKE2b-256 0f7aecfdbb6c71801ded5e6cc66b467b36de230d2b31325dc89798b6c062129e

See more details on using hashes here.

File details

Details for the file run_git-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: run_git-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 30.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for run_git-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 871bf3f3827e913ade951b8d1d5455cc7bccee2dc934546328aee65368eccaef
MD5 ae697d02f65f8b42a0d302a089477205
BLAKE2b-256 ee6fae5d2f3eed4f8695d7c118bcd74a4e15e31d5db3de2610a95515aa9d849f

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