ghk

Simple GitHub helper — push code without the complexity

Download GitHub
No Rust required! Download pre-built binaries and run. Only developers building from source need Rust.

Install

Linux/macOS (Recommended)

curl -sSL https://raw.githubusercontent.com/bymehul/ghk/main/install.sh | bash

Debian/Ubuntu

wget https://github.com/bymehul/ghk/releases/latest/download/ghk_1.0.0_amd64.deb sudo dpkg -i ghk_1.0.0_amd64.deb

Fedora/RHEL

sudo rpm -i https://github.com/bymehul/ghk/releases/latest/download/ghk-1.0.0-1.x86_64.rpm

Arch Linux

yay -S ghk

Or download from releases and move to /usr/bin/

Windows (PowerShell)

irm https://raw.githubusercontent.com/bymehul/ghk/main/install.ps1 | iex

Or download ghk-windows-x86_64.exe from releases, rename to ghk.exe, add to PATH.

From Source (requires Rust)

cargo install --git https://github.com/bymehul/ghk

Quick Start

# First time? Run setup to install git & GitHub CLI ghk setup # Start tracking your project cd my-project ghk init # Create repository on GitHub ghk create # Save your changes ghk push

All Commands

Core Commands

Command Alias Description Runs...
ghk setup Check and install git, GitHub CLI. Shows versions and connection status. (Checks requirements)
ghk init Start tracking this folder. Creates .git folder. git init
ghk create Create a new repository on GitHub. Prompts for name and visibility. gh repo create
ghk push save Save changes to GitHub. Prompts for a message describing your changes. git add -A && ...
ghk pull sync Download changes from GitHub to your computer. git pull
ghk clone <repo> download Download a repository. Use owner/repo or full URL. gh repo clone

View & Info Commands

Command Alias Description
ghk status Show current status: branch, remote, unsaved changes, login status. git status
ghk diff Preview changes before saving. Shows what files changed. git diff
ghk history [n] log Show recent saves. Default: 10 commits. git log
ghk open Open repository in your web browser. gh browse

Undo & Branches

Command Alias Description
ghk undo Undo last commit. Your changes are kept, just uncommitted. git reset --soft...
ghk branch List all branches. Shows current branch. git branch
ghk branch <name> Switch to branch. Creates it if doesn't exist. git branch & switch

Project Setup

Command Alias Description
ghk ignore Add .gitignore template. Choose from: node, python, rust, go, java, web, macos, windows, linux, ide. (Writes .gitignore)
ghk license Add LICENSE file. Choose from: MIT, Apache, GPL, Unlicense. (Writes LICENSE)

Account & Settings

Command Alias Description
ghk login Connect to GitHub. Opens browser for authentication. gh auth login
ghk logout Disconnect from GitHub. gh auth logout
ghk user list Show logged in accounts. (Internal auth)
ghk user switch <name> Switch to different GitHub account. (Internal auth)
ghk config View all settings. (Reads config)
ghk config <key> <value> Change a setting. Keys: quiet, nocolor, editor. (Edits config)

Shell Completions

Command Description
ghk completions bash Generate bash completions. Append to ~/.bashrc
ghk completions zsh Generate zsh completions. Save to ~/.zfunc/_ghk
ghk completions fish Generate fish completions. Save to ~/.config/fish/completions/

Global Options

Flag Description
-q, --quiet Suppress output (errors still shown)
--nocolor Disable colored output
-h, --help Show help
-V, --version Show version

Examples

Save your work

$ ghk push Changes to save: M src/main.rs A README.md What did you change? Fixed login bug ✔ Saved to GitHub!

Download a project

$ ghk clone bymehul/ghk Downloading repository... ✔ Downloaded to 'ghk' cd ghk to start working

Add .gitignore

$ ghk ignore node ✔ Added node template to .gitignore

Check status

$ ghk status ✔ Git: Ready Branch: main Remote: github.com/bymehul/ghk No unsaved changes ✔ GitHub: Logged in as bymehul

Links