🚀 用 gix 让 Git 合并提交更丝滑!我做了一个高颜值的 CLI 工具

135 阅读2分钟

🚀 用 gix 让 Git 合并提交更丝滑!我做了一个高颜值的 CLI 工具

这是我为自己造的一个轮子,也可能是你每天都能用到的工具。


✨ 起因:重复的 Git 操作,让人烦躁

作为一名前端开发者,每天都要和 Git 打交道,尤其是整理提交记录、合并提交、强推远程这些动作,说起来轻松,但做起来却是重复又容易出错。

比如下面这段你一定不陌生:

git reset --soft HEAD~3
git commit -m "feat: 优化组件加载逻辑"
git push --force-with-lease

你是不是也想说:

✋ 我不想每次都手打这些命令了!


💡 我做了个工具:gix

gix 是一个 Git 扩展 CLI 工具,帮你把「合并多个提交 + 提交 + 强推」这个动作封装为一句话。

📦 项目地址:github.com/nianyi778/g…
🌍 支持中文文档:github.com/nianyi778/g…
📥 npm 安装:www.npmjs.com/package/gix


🧩 主要特性

  • ✅ 交互式选择起始提交、填写 commit message
  • ✅ 自动构建 git reset --soft + commit + push
  • ✅ 强推前提示确认,避免误操作
  • ✅ 内置 gix squashgix doctor 等扩展命令
  • ✅ 基于 TypeScript 编写,类型安全,支持 monorepo 管理

🔧 安装方式

npm install -g gix-cli

然后直接使用:

gix merge

你会看到一个简洁的交互式界面,帮你完成:

  • 起始 commit 输入
  • 新的提交信息
  • 是否要强推远程

🧪 使用示例

gix merge -f a1b2c3d -m "feat: 合并订单功能相关提交"

等价于:

git reset --soft a1b2c3d^
git commit -m "feat: 合并订单功能相关提交"
git push --force-with-lease

是不是一口气顺了很多?🤗


🛠 其他命令一览

gix squash -n 3       # squash 最近 3 次提交
gix squash --all      # 从 root 提交开始 squash

gix doctor            # 检查当前 Git 仓库状态、分支、远程等

🎯 为什么我推荐你用它

  • 👉 团队协作前的 commit 整理,效率翻倍
  • 👉 再也不用反复查 git reset、push 强推语法
  • 👉 简单可扩展,未来可支持 commit lint、changelog 等功能
  • 👉 支持中英文文档,CLI 支持 i18n(计划中)

🛣️ 未来计划

  • merge 合并提交
  • squash 交互式 squash
  • doctor 检查工作状态
  • undo 撤销合并操作
  • config CLI 个性化配置
  • log 输出合并历史日志

📸 项目截图

封面 (示意图可放你前面生成的封面图)


❤️ 如果你也喜欢这个工具

欢迎来 GitHub 点个 ⭐️ 支持一下:

👉 github.com/nianyi778/g…

也欢迎留言或提 issue,一起打造一个好用 + 好看 + 可扩展的 Git 命令行工具!


📮 最后

开发这个工具的初衷是为了解决我自己工作中的“重复性烦躁”,如果你也遇到类似的 Git 场景,希望 gix 能成为你的得力小助手。

记住这句 slogan:

让 Git 更简单一点,就是我们开发者更快乐一点!