Skip to content

gix is a Git extension CLI tool designed to simplify Git workflows like merging multiple commits and force pushing. Built with TypeScript, it offers extensibility, safety, and a clean developer experience.

License

Notifications You must be signed in to change notification settings

nianyi778/gix-cli

Repository files navigation

🧰 gix

🇨🇳 中文文档 | 🇺🇸 English

gix is a Git extension CLI tool designed to simplify your Git workflows — especially for merging commits and force pushing, with safety and clarity.


🚀 Features

  • 🔧 Interactively merge multiple Git commits
  • 💬 Custom commit message input
  • 🚦 Confirm force push automatically
  • ♻️ Reset local commits to remote (soft)
  • 🧱 Fully typed, powered by TypeScript
  • 🔌 Modular command system — more to come

📦 Installation

npm install -g gix-cli

Then use it globally:

gix merge

🛠 Usage Examples

Merge commits

gix merge

Follow the prompts to:

  • Select start and end commits
  • Write a new commit message
  • Optionally force-push

Or directly:

gix merge -f <from> -m "your message"

Squash commits

gix squash -n 3      # squash last 3 commits
gix squash --all     # squash all history from root

Check your Git state

gix doctor
  • Check git & node version
  • Git repo state
  • Working directory clean?
  • Remote & branch info

Discard all local commits (soft reset to remote)

gix reset
  • Soft reset to origin/branch
  • Keeps all local file changes
  • Removes unpushed commits only

📄 License

MIT © 2025 Li Kai

About

gix is a Git extension CLI tool designed to simplify Git workflows like merging multiple commits and force pushing. Built with TypeScript, it offers extensibility, safety, and a clean developer experience.

Resources

License

Stars

Watchers

Forks

Packages

No packages published