githelp - a tiny git helper (gg/ggi/ggc): commit without quotes, add .gitignore templates from github/gitignore, and re-home a clone under your own GitHub account/org
Project description
githelp
A tiny git helper published as githelp. It
installs three commands: gg, ggi, and ggc.
pip install githelp
- Repository: https://github.com/rosaboyle/githelp
- PyPI: https://pypi.org/project/githelp/
gg — commit without quotes
Type your message straight after gg, no quotes:
gg fix the login bug and update the readme
That runs, in order:
git add .
git commit -m "fix the login bug and update the readme"
git push
It warns you and asks "are you sure?" before committing when:
- more than 100 files are staged, or
- more than 100,000 changed lines are staged.
If you decline, it aborts (your files stay staged). If neither threshold is
crossed, it just commits and pushes. If the current branch has no upstream, it
pushes with --set-upstream origin <branch> automatically.
gg --help # usage
ggi — add a .gitignore template
Templates are fetched live from
github/gitignore through the GitHub API,
so they are always the current upstream versions (nothing is bundled or stale).
ggi # interactive: type to fuzzy-search the full list, then pick one
ggi Python # add a named template directly
ggi --help # usage
The selected template is appended to your repository's .gitignore inside a
clearly marked block, so it is easy to find and is never added twice.
Tip: set
GITHUB_TOKEN(orGH_TOKEN) in your environment to avoid GitHub's unauthenticated API rate limit.
ggc — clone a repo and re-home it under your account/org
Mirror a public repo into your own GitHub account or org in one shot — clone,
drop the old remote, create the new repo, wire up the https origin, and push.
ggc <github-url> <owner/repo> # create under an org (or another user)
ggc <github-url> <repo> # create under your own GitHub account
ggc https://github.com/someone/cool-lib leanmcp/cool-lib
ggc https://github.com/someone/cool-lib my-fork
That runs, in order:
git clone <github-url> <repo>
git -C <repo> remote remove origin
gh repo create <owner/repo> --private # --public to make it public
git -C <repo> remote add origin https://github.com/<owner>/<repo>.git
git -C <repo> push --set-upstream origin <branch>
New repos are private by default; pass --public to make them public. When
you give just <repo> (no owner), it creates it under your own account using
your authenticated GitHub username. The origin is always wired with the https
URL, never ssh.
ggc --help # usage
Requires the GitHub CLI (gh), authenticated via
gh auth login.
Install from source / develop
git clone https://github.com/rosaboyle/githelp
cd githelp
pip install -e .
Dependencies
Pinned to the latest releases:
| Package | Version |
|---|---|
| httpx | 0.28.1 |
| questionary | 2.1.1 |
| rich | 15.0.0 |
Requires Python 3.9+.
Publishing
A helper script is provided: publish.sh.
./publish.sh # build + upload to PyPI
./publish.sh --test # upload to TestPyPI instead
./publish.sh --check # build only, validate with twine, do not upload
Manual equivalent:
python -m pip install --upgrade build twine
python -m build
twine check dist/*
twine upload dist/*
Authenticate to PyPI with an API token: create one at
https://pypi.org/manage/account/token/ and either set TWINE_USERNAME=__token__
and TWINE_PASSWORD=<your-token>, or let twine prompt you.
License
MIT — see LICENSE.
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
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 githelp-0.1.1.tar.gz.
File metadata
- Download URL: githelp-0.1.1.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
390721cafe28f989bbad870ffcec10d039ea265eb40dae0986700b9042d40950
|
|
| MD5 |
7d5cfe2dd21b0bfa379ef84f9fcd5e02
|
|
| BLAKE2b-256 |
595a30c2ed3ca5dbe01bc3784ca072cfcfd2694d948286f6786b0ad40f73401e
|
File details
Details for the file githelp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: githelp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d572a57265b82c43b978d5f0e35588e355eae1fb90d4aa08e105abc09fac6e5e
|
|
| MD5 |
6e38f9a653f93ae8cf32131129af976b
|
|
| BLAKE2b-256 |
f147186cab7ebcddb86a27a0a38c67eaa9f7215a43c9b305f1a58092447c62bf
|