GitOK is a productivity boost for developers. It includes 35+ custom Git commands and functions like commit
, pushall
, unpush
, gitcheatsheet
, and now features automatic updates and semantic versioning.
- 🚀 35+ Git aliases for faster Git workflows
- 🔄 Auto-update system (
gitok --update
) - 📋 Interactive cheatsheet (
gitcheatsheet
) - 🔒 Safety confirmations for destructive operations
- 📦 Semantic versioning with automated releases
- 🛠️ CI/CD pipeline with GitHub Actions
- 🪟 Cross-platform support (Linux, macOS, Windows WSL, Git Bash)
- 🐟 Fish Shell support with native fish syntax
- ⚡ Zero configuration - works out of the box
bash <(curl -sL https://raw.githubusercontent.com/okwareddevnest/gitok/main/install.sh)
The installer automatically detects and configures Fish Shell support. If you're using Fish Shell, the installer will:
- Download the Fish-compatible version (
.gitok.fish
) - Configure
~/.config/fish/config.fish
- Use native Fish syntax for all functions
To manually install for Fish Shell:
curl -sL https://raw.githubusercontent.com/okwareddevnest/gitok/main/install.sh | bash
Option 1: Windows Subsystem for Linux (WSL) - Recommended
# Install WSL if not already installed
wsl --install
# After restart, install GitOK in WSL
wsl bash -c "curl -sL https://raw.githubusercontent.com/okwareddevnest/gitok/main/install.sh | bash"
Option 2: Git Bash (comes with Git for Windows)
- Install Git for Windows (includes Git Bash)
- Open Git Bash terminal
- Run:
bash <(curl -sL https://raw.githubusercontent.com/okwareddevnest/gitok/main/install.sh)
Option 3: Automated Windows Installer
# PowerShell (Run as Administrator)
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/okwareddevnest/gitok/main/install-windows.ps1'))
# OR download and double-click
# https://raw.githubusercontent.com/okwareddevnest/gitok/main/install-windows.bat
# Restart your terminal or run:
source ~/.bashrc # or source ~/.zshrc
# Test installation
gitok --version
gitcheatsheet
For Fish Shell users:
# Restart your terminal or run:
source ~/.config/fish/config.fish
# Test installation
gitok --version
gitcheatsheet
gitok --update
gitok --version
gitok --help
# or
gitcheatsheet
# Initialize and make first commit
init
commit "Initial commit"
# Create and switch to new branch
branch feature/new-feature
commit "Add new feature"
# Push to all remotes with rebase
pushall
# View commit history
graphlog
# See all available commands
gitcheatsheet
Run gitcheatsheet
for a complete list, or see key commands below:
commit "message"
- Stage all & commitpush
- Push to current branchpushall
- Push to all remotes (with rebase)pull
- Pull with rebasestatus
- Git status
branch <name>
- Create & switch to branchcheckout <name>
- Switch to branchbranches
- List all branchesdeletebranch <name>
- Safe delete branch
unpush
- Undo last push (⚠️ dangerous)squashlast [N]
- Squash last N commitspushall --dry-run
- Test push to all remotesmakeignore <type>
- Create .gitignore template
Bump version manually:
./scripts/bump-version.sh patch # 1.0.0 -> 1.0.1
./scripts/bump-version.sh minor # 1.0.1 -> 1.1.0
./scripts/bump-version.sh major # 1.1.0 -> 2.0.0
The project uses GitHub Actions for:
- ✅ Automated testing with ShellCheck
- 🔖 Semantic versioning and releases
- 🔒 Security scanning
- 📦 Automated releases on version bumps
Trigger a release:
- Use GitHub Actions workflow dispatch
- Or commit with
[release]
in message - Or use the version bump script
Apache License - see LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
shellcheck .gitok.sh
- Submit a pull request
Created by Dedan Okware - softengdedan@gmail.com
⭐ Star this repo if GitOK helps boost your Git productivity!