Skip to main content

ControlGit - Git account and repository settings management

Project description

ControlGit

ControlGit is a lightweight Git account and repository settings management tool. It's a subset of SmartGit focused on controlling Git configuration without deployment capabilities.

Features

  • Account Settings: Manage global Git user configuration
  • Repository Settings: Manage repository-specific Git configuration
  • Remote Management: Add, remove, and update Git remotes
  • GitHub Authentication: Store and manage GitHub credentials
  • GitHub CLI Integration: Optional integration with GitHub CLI

Installation

pip install pypi-controlgit

Quick Start

Account Management

# Show global Git configuration
controlgit account config

# Set user name
controlgit account name "Your Name"

# Set user email
controlgit account email "your.email@example.com"

# Set custom configuration
controlgit account set core.editor "vim"

Repository Management

# Show repository configuration
controlgit repo config my-repo

# Set repository configuration
controlgit repo set my-repo core.ignorecase true

# List remotes
controlgit repo remotes my-repo

# Add remote
controlgit repo add-remote my-repo origin https://github.com/user/repo.git

# Remove remote
controlgit repo remove-remote my-repo origin

# Update remote URL
controlgit repo set-remote-url my-repo origin https://github.com/user/new-repo.git

GitHub Authentication

# Set credentials manually
controlgit auth set username token --2fa 123456

# Use GitHub CLI for interactive login
controlgit auth set

# Check authentication status
controlgit auth status

# Clear credentials
controlgit auth clear

Commands

auth

  • auth set [username] [password] - Set GitHub credentials
  • auth status - Show authentication status
  • auth clear - Clear stored credentials

account

  • account config - Show global Git configuration
  • account set <key> <value> - Set global Git configuration
  • account name <name> - Set global user name
  • account email <email> - Set global user email

repo

  • repo config <name> - Show repository configuration
  • repo set <name> <key> <value> - Set repository configuration
  • repo remotes <name> - List repository remotes
  • repo add-remote <name> <remote-name> <url> - Add remote
  • repo remove-remote <name> <remote-name> - Remove remote
  • repo set-remote-url <name> <remote-name> <url> - Update remote URL

Options

  • --path <path> - Working directory (default: current directory)
  • --github-user <username> - GitHub username (default: abucodingai)

Requirements

  • Python 3.8+
  • Git 2.0+
  • GitHub CLI (gh) 2.0+ (optional, for interactive login)

License

MIT License

Author

Abu Shariff (abu.shariffaiml@gmail.com)

System Requirements

This package requires the following system tools to be installed:

After installation, authenticate with GitHub:

gh auth login

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

pypi_controlgit-1.0.0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

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

pypi_controlgit-1.0.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file pypi_controlgit-1.0.0.tar.gz.

File metadata

  • Download URL: pypi_controlgit-1.0.0.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for pypi_controlgit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c090344c5d70344761679b877eb1d58cf033913cc392f101bedf34023098b533
MD5 61957deed16cc1d1ba33bab716333601
BLAKE2b-256 ec5da74b1cb475a1617b0c7e893ac76e32a92b6a127053f1aa6b80d0e1d2d78c

See more details on using hashes here.

File details

Details for the file pypi_controlgit-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pypi_controlgit-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b3ff78056d9f21d3e437adf6418536e126fa9ff48da85c3d406ba45f0c460621
MD5 fde1f892a0c03c08cde645e8b8227fb5
BLAKE2b-256 98783c19bb434fd4e1d8d48b428b1e2a0772d82cba14bd40b2342f7be5a76ffe

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