GitHub Experience CLI

Search and jump to PRs, issues, branches, and commits from your terminal

$ ghx jump OPS-123
[pr] Increase timeout during auth
Number: 456
Branch: feature/increase-timeout
URL: https://github.com/owner/repo/pull/456
$ ghx branch list
* main
  develop
  feature/dashboard
CLI Tool Git Workflow GitHub Integration

Powerful Features

Everything you need for faster GitHub workflow

🔍

Smart Search

Search PRs, issues, branches, and commits in order of relevance with fuzzy matching

🌐

Browser Integration

Open search results directly in your browser with the --open flag

🚀

Quick Checkout

Checkout PR branches and switch between branches in seconds

🌳

Branch Management

List, create, switch, and delete branches with intuitive commands

📤

Smart Push

Push code safely with force-with-lease, upstream tracking, and more

📊

Git Status

Quick status checks with ahead/behind commit counts and tracked changes

🔄

Sync Command

Fetch all remotes and pull updates in a single command

Fast & Lightweight

Built with pure bash - minimal overhead, maximum performance

🎯

Type Filtering

Search specific types: PR, issue, branch, or commit

Command Reference

Master ghxgit with these essential commands

Search & Jump

ghx jump <query>

Search for PR, issue, branch, or commit

ghx jump <query> --open

Open result in browser

ghx jump <query> --checkout

Checkout branch immediately

ghx jump <query> --type pr

Search only PRs

Branch Management

ghx branch list

List all branches

ghx branch switch <name>

Switch with fuzzy search

ghx branch create <name>

Create new branch

ghx branch delete <name>

Delete branch safely

Git Workflow

ghx push

Push with smart options

ghx push --force-with-lease

Safe force push

ghx pull --rebase

Pull with rebase

ghx sync

Fetch & pull everything

Status & History

ghx status

Show git status

ghx log [limit]

Show recent commits

ghx branch

Show current branch

ghx --version

Show version

Usage Examples

Real-world workflows to boost your productivity

List and switch branches
$ ghx branch list
Local branches:
===============
* main (abc1234)
  develop (def5678)
  feature/dashboard (ghi9012)

$ ghx branch switch feature
# Switched to branch 'feature/dashboard'
Create and delete branches
$ ghx branch create feature/new-widget
✓ Created and switched to branch: feature/new-widget

$ ghx branch delete old-feature
✓ Deleted branch: old-feature
Complete push workflow
$ ghx status
Branch: feature/dashboard
Status:
 M src/dashboard.js
 A src/components/Widget.js

Commits:
  📤 2 commit(s) ahead of origin

$ ghx push -u
# Pushes and sets upstream
Sync and check latest
$ ghx sync
Fetching all remotes...
Pulling latest changes...

$ ghx log 5
# Shows last 5 commits
Review and checkout PR
$ ghx jump OPS-123 --checkout
✓ Successfully checked out: feature/increase-timeout

$ ghx log 3
# Review the commits in the PR
Return to main
$ ghx branch switch main
# Switched to branch 'main'

$ ghx sync
# Update with latest changes

Installation

Get started in minutes

1

Install Dependencies

Make sure you have these installed:

Git - Version control
gh (GitHub CLI) - Command line interface for GitHub → Install
jq - JSON processor
fzf (optional) - Fuzzy finder for interactive selection → Install
2

Clone & Install

# Clone the repository
git clone https://github.com/jay-panickerLJ/ghxgit.git
cd ghxgit

# Run the installer
bash install.sh
3

Configure Shell

Add to your ~/.zshrc:

autoload -Uz compinit && compinit

Then restart your shell:

exec zsh
4

Verify Installation

ghx --version
ghxgit v0.2.0

Install Dependencies with Homebrew

brew install gh jq fzf

Install Dependencies

# Debian/Ubuntu
sudo apt install gh jq fzf

# Fedora
sudo dnf install gh jq fzf

Manual Installation

sudo install -m 0755 bin/ghx /usr/local/bin/ghx

# ZSH completions
sudo mkdir -p /usr/local/share/zsh/site-functions
sudo install -m 0644 completions/zsh/_ghx \
  /usr/local/share/zsh/site-functions/_ghx

Why Use ghxgit?

Level up your GitHub workflow

⏱️ Save Time

Replace multiple browser tabs and commands with quick CLI searches

🔥 Stay in Flow

Never leave your terminal. Context switching is the enemy of productivity

🎮 Powerful Shortcuts

Automate common Git workflows with intuitive commands

🛡️ Safety First

Smart confirmations and safe-by-default options prevent accidents

Frequently Asked Questions

ghxgit is a Bash script that works on any POSIX-compliant shell. ZSH completions are included. Bash and Fish completions are planned for future versions.

Yes! ghxgit uses the GitHub CLI which respects your authentication. Simply run gh auth login to authenticate with your GitHub account.

Yes, on Windows Subsystem for Linux (WSL). Install WSL2 first, then follow the Linux installation instructions.

Enterprise support is planned for v0.3.0. For now, you can configure GitHub CLI to work with Enterprise using gh auth login with a custom hostname.

Currently, ghxgit searches only the current repository. Multi-repo search is on the roadmap for v0.3.0.

Simply remove the installed files:

sudo rm /usr/local/bin/ghx
sudo rm /usr/local/share/zsh/site-functions/_ghx

Ready to Transform Your Workflow?

Join developers who are using ghxgit to work faster and smarter