Skip to main content

Git Made Easy - One Command To Rule Them All

Project description

RUN-GIT - Git Made Easy ๐Ÿš€

โ•ญโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•ฎ
โ”ƒ                                                                    โ”ƒ
โ”ƒ    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—         โ”ƒ
โ”ƒ    โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ• โ–ˆโ–ˆโ•‘โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•         โ”ƒ
โ”ƒ    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘            โ”ƒ
โ”ƒ    โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘            โ”ƒ
โ”ƒ    โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘     โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘            โ”ƒ
โ”ƒ    โ•šโ•โ•  โ•šโ•โ• โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•  โ•šโ•โ•โ•โ•      โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•   โ•šโ•โ•            โ”ƒ
โ”ƒ                                                                    โ”ƒ
โ”ƒ   โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•     โ”ƒ
โ”ƒ                                                                    โ”ƒ
โ”ƒ   โšก Git Operations Made Effortless                               โ”ƒ
โ”ƒ   ๐ŸŽฏ One Command | Zero Hassle | Full Control                     โ”ƒ
โ”ƒ                                                                    โ”ƒ
โ”ƒ   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”ƒ
โ”ƒ   โ”‚  Developer    : Himanshu Kumar                           โ”‚   โ”ƒ
โ”ƒ   โ”‚  GitHub       : @himanshu231204                          โ”‚   โ”ƒ
โ”ƒ   โ”‚  Repository   : github.com/himanshu231204/gitpush        โ”‚   โ”ƒ
โ”ƒ   โ”‚  Version      : v1.0.6                                   โ”‚   โ”ƒ
โ”ƒ   โ”‚  License      : MIT                                      โ”‚   โ”ƒ
โ”ƒ   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”ƒ
โ”ƒ                                                                    โ”ƒ
โ”ƒ   Type 'run-git help' to get started                              โ”ƒ
โ”ƒ                                                                    โ”ƒ
โ•ฐโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•ฏ

PyPI version Downloads Tests Python 3.8+ License: MIT

One Command To Rule Them All

RUN-GIT is the ultimate Git automation tool designed to make Git operations effortless for developers of all skill levels. Say goodbye to complex Git commands and hello to simplicity!

Created by Himanshu Kumar (@himanshu231204)


๐ŸŽฏ Features

  • โšก Quick Push: One command to add, commit, pull, and push
  • ๐Ÿค– Auto Commit Messages: Intelligent commit message generation
  • ๐Ÿ”€ Interactive Conflict Resolution: Easy-to-use conflict handling
  • ๐ŸŒฟ Branch Management: Create, switch, delete, and merge branches effortlessly
  • ๐Ÿ“Š Beautiful Status Display: Rich terminal UI with colors and tables
  • ๐Ÿ” Sensitive File Detection: Warns about .env, secrets, and credentials
  • ๐ŸŽจ Interactive Mode: Full TUI menu for all operations
  • ๐Ÿ†• GitHub Repo Creation: Create repositories directly from command line or interactive menu
  • ๐Ÿ”„ Smart Push Retry: Automatic conflict resolution and retry mechanism

๐Ÿ“ฆ Installation

pip install run-git

๐Ÿš€ Quick Start

1. Initialize Repository

# New repository
run-git init
 
# Clone existing repository
run-git init https://github.com/user/repo.git

2. Quick Push (Most Common Use Case)

# Add, commit, pull, and push in one command!
run-git push
 
# With custom commit message
run-git push -m "Add new feature"

3. Interactive Mode

# Just type run-git for interactive menu
run-git

New in v1.0.6: Interactive menu now includes "Create New Repo"! ๐ŸŽ‰

? What would you like to do?
  ๐Ÿš€ Quick Push
โฏ ๐Ÿ†• Create New Repo  โ† Access repo creation here!
  ๐ŸŒฟ Branch Operations
  ๐Ÿ“Š View Status/History
  โš™๏ธ  Configuration
  ๐Ÿ”ง Advanced Tools
  ๐Ÿ“š Help & Docs
  Exit

4. Create GitHub Repository

Two Ways to Create Repos:

Option 1: Interactive Menu (NEW!)

run-git
# Select "๐Ÿ†• Create New Repo"
# Follow guided prompts

Option 2: Command Line

# Quick mode with smart defaults
run-git new my-awesome-project --quick
 
# Interactive mode
run-git new my-project

๐Ÿ†• GitHub Repository Creation

Create GitHub repositories directly from your terminal without opening a browser!

โš™๏ธ One-Time Setup

Before using repo creation, you need a GitHub Personal Access Token (only once):

Step 1: Create GitHub Token

  1. Go to: https://github.com/settings/tokens
  2. Click "Generate new token (classic)"
  3. Give it a name: run-git-token
  4. Select scopes:
    • โœ… repo (Full control of private repositories)
    • โœ… user (Read user profile data)
  5. Click "Generate token"
  6. Copy the token (starts with ghp_...) โš ๏ธ You won't see it again!

Step 2: First Time Use

run-git new my-first-repo --quick

You'll be prompted:

โ„น๏ธ  GitHub Personal Access Token needed!
โ„น๏ธ  Create one at: https://github.com/settings/tokens
โ„น๏ธ  Required scopes: repo, user
? Enter your GitHub token: 

Paste your token (won't show while typing) and press Enter.

โœ… Authenticated as: your-username
โœ… GitHub token saved securely

That's it! Your token is now saved. You'll never be asked again! ๐ŸŽ‰

Token Storage

Token is securely stored in:

  • Linux/Mac: ~/.run-git/config.yml
  • Windows: C:\Users\YourName\.run-git\config.yml

File permissions are set to user-only (600) for security.


๐Ÿ’ก Creating Repositories

Method 1: Interactive Menu (Recommended for Beginners)

run-git

Select "๐Ÿ†• Create New Repo" from the menu.

You'll be guided through:

  1. Repository name
  2. Description
  3. Public or Private
  4. Gitignore template (auto-detected!)
  5. License selection
  6. README creation

Full interactive experience with beautiful UI! โœจ

Method 2: Quick Mode CLI

# Create repo with smart defaults
run-git new my-awesome-project --quick

What it does:

  • โœ… Detects language from your files (Python, Node, Java, etc.)
  • โœ… Creates .gitignore automatically
  • โœ… Adds MIT license
  • โœ… Generates professional README
  • โœ… Makes repository public
  • โœ… Pushes to GitHub
  • โœ… All in 5 seconds!

Method 3: Interactive CLI

# Answer questions for each option
run-git new my-project

Method 4: Full Command Line

# Specify everything upfront
run-git new my-api \
  --description "REST API for my app" \
  --public \
  --gitignore Python \
  --license MIT

๐Ÿ“‹ Available Options

Option Description
--quick Use smart defaults, no prompts
-d, --description Repository description
--public Make repository public (default)
--private Make repository private
-g, --gitignore Gitignore template (Python, Node, Java, etc.)
-l, --license License (MIT, Apache-2.0, GPL-3.0, BSD, ISC)
--no-readme Skip README creation

๐ŸŽฌ Example Workflow

# Create new project folder
mkdir my-web-app
cd my-web-app
 
# Add some files
echo "print('Hello')" > app.py
echo "flask" > requirements.txt
 
# Create repo via interactive menu
run-git
# Select "๐Ÿ†• Create New Repo"
 
# OR use CLI quick mode
run-git new my-web-app --quick

Output:

โœ… Using smart defaults...
โ„น๏ธ  Language detected: Python
โ„น๏ธ  License: MIT
โ„น๏ธ  Visibility: Public
โณ Creating repository on GitHub...
โœ… Repository created: https://github.com/you/my-web-app
โณ Initializing local repository...
โœ… .gitignore (Python) created
โœ… LICENSE (MIT) created
โœ… README.md created
โณ Setting up main branch...
โณ Pushing to GitHub...
โœ… Repository pushed successfully!
๐ŸŽ‰ Repository created successfully!
๐Ÿ”— https://github.com/you/my-web-app

Your repo is LIVE on GitHub! ๐Ÿš€


๐Ÿ”„ Smart Push with Automatic Retry (NEW in v1.0.6)

Repository creation now includes intelligent push handling:

  • Automatic Branch Management: Always uses main branch
  • Conflict Auto-Resolution: Syncs with remote if there are conflicts
  • Retry Logic: Attempts multiple strategies to push successfully
  • Graceful Failure: Clear instructions if manual intervention needed

Example:

โณ Pushing to GitHub...
โš ๏ธ  Push failed. Attempting to sync with remote...
โœ… Repository synced and pushed successfully!

๐Ÿ“– Usage

Basic Commands

# Push changes
run-git push
 
# View status
run-git status
 
# View commit history
run-git log
 
# Branch operations
run-git branch              # List branches
run-git branch feature-x    # Create branch
run-git switch main         # Switch branch
run-git merge feature-x     # Merge branch
 
# Remote management
run-git remote              # Show remotes
run-git remote origin --add https://github.com/user/repo.git
 
# Advanced
run-git pull                # Pull changes
run-git sync                # Pull + Push
run-git stash               # Stash changes
run-git undo                # Undo last commit

๐Ÿค– Auto Commit Messages

RUN-GIT generates intelligent commit messages based on your changes:

  • feat: add authentication module (3 added)
  • fix: update user validation (2 modified)
  • docs: update README (1 modified)
  • refactor: remove deprecated code (2 deleted)

๐ŸŽฏ Use Cases

For Beginners

  • No need to remember complex Git commands
  • Interactive menus guide you through operations
  • Auto-generated commit messages
  • Create GitHub repos without leaving terminal
  • Built-in help and guidance

For Experienced Developers

  • Fast one-command push workflow
  • Customizable commit messages
  • Time-saving automation
  • Quick repo creation for new projects
  • Smart conflict resolution

๐Ÿ“š Command Reference

Command Description
run-git Interactive mode (with Create Repo option!)
run-git push Quick push (add, commit, pull, push)
run-git new <n> Create new GitHub repository
run-git init Initialize repository
run-git status Show repository status
run-git log Show commit history
run-git branch List branches
run-git switch <n> Switch branch
run-git merge <n> Merge branch
run-git remote Show remotes
run-git pull Pull changes
run-git sync Pull and push
run-git stash Stash changes
run-git undo Undo last commit
run-git --help Show help
run-git --version Show version

๐Ÿ”ง Troubleshooting

Token Issues

Q: I lost my token, how do I create a new one?

A: Delete the saved token and run any repo creation command:

# Linux/Mac
rm ~/.run-git/config.yml
 
# Windows
del %USERPROFILE%\.run-git\config.yml
 
# Then run
run-git new test-repo --quick

Q: How do I update my token?

A: Same as above - delete the config file and enter a new token.

Q: Is my token secure?

A: Yes! The token is:

  • Stored locally on your machine only
  • File permissions set to user-only (600)
  • Never transmitted except to GitHub's official API
  • Can be revoked anytime from GitHub settings

Push Issues

Q: What if push fails?

A: RUN-GIT automatically:

  1. Attempts standard push
  2. If fails, syncs with remote using --allow-unrelated-histories
  3. Retries push
  4. If still fails, provides manual instructions

Q: Repository created but push failed?

A: You can manually push:

git push -u origin main

๐Ÿค Contributing

Contributions are welcome! Please see CONTRIBUTING.md for details.


๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ‘จโ€๐Ÿ’ป Author

Himanshu Kumar

  • GitHub: @himanshu231204
  • Created with โค๏ธ for the developer community

๐ŸŒŸ Show Your Support

If you find RUN-GIT helpful, please:

  • โญ Star the repository
  • ๐Ÿ› Report bugs
  • ๐Ÿ’ก Suggest new features
  • ๐Ÿ”€ Contribute code

๐Ÿ“Š Why RUN-GIT?

The Problem

Git is powerful but complex. Beginners struggle with:

  • Remembering command sequences
  • Handling merge conflicts
  • Writing good commit messages
  • Managing branches
  • Creating GitHub repositories
  • Dealing with push failures

The Solution

RUN-GIT provides:

  • โœ… One command for common workflows
  • โœ… Interactive conflict resolution
  • โœ… Auto-generated commit messages
  • โœ… Beautiful terminal UI
  • โœ… Safety features
  • โœ… Zero learning curve
  • โœ… One-command GitHub repo creation
  • โœ… Interactive menu for easy access
  • โœ… Smart push retry mechanism

๐Ÿ“ˆ What's New in v1.0.6

๐Ÿ†• New Features

  • Interactive Menu Integration: Create repos directly from run-git interactive menu
  • Smart Push Retry: Automatic conflict resolution and retry on push failures
  • Better Branch Management: Ensures main branch naming consistency

๐Ÿ”ง Improvements

  • Enhanced push reliability with automatic sync
  • Better error messages and recovery options
  • Improved file staging mechanism
  • More robust conflict handling

๐Ÿ› Bug Fixes

  • Fixed push failures when remote has diverged
  • Improved error handling for repository state conflicts
  • Better handling of branch naming inconsistencies

Made with โค๏ธ by Himanshu Kumar | Making Git Easy for Everyone

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.0.6.tar.gz (32.5 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.0.6-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for run_git-1.0.6.tar.gz
Algorithm Hash digest
SHA256 9725923b7f59c2a73c0d14b0f8b92e6c1290211daa67be7f707ad788635aca37
MD5 ea84ca813352c3b556373d80dabc1b62
BLAKE2b-256 98e5c6a7913d27e024a80e726ec643dd19081642f0014507d7e189a534e0196a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for run_git-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1440160cefd3a3e17911c331b236c94dc666e4eaf3df33cffa5acca4789ead9f
MD5 8c32640cecb3a3f0fdc9e0f641327650
BLAKE2b-256 5c5999f8bbd05e1f6b35af49653589d32ee663d3d3a0c35b7961bf415e148557

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