一键拆分 Git Commit,告别繁琐操作

Splitting a Git Commit

拆分 Git commit 曾经是个令人头疼的繁琐过程,但如今只需一条命令就能轻松搞定。通过 git history split ${REF},你可以逐块选择要包含在第一个 commit 中的内容,然后分别编辑两个 commit 的提交信息。整个过程简单直观,无需再依赖那些冗长复杂的旧方法。Stack Overflow 上关于此问题的热门答案仍停留在过时的技巧上,而真正高效的方案却鲜有人问津。如果你还在为拆分提交而烦恼,不妨试试这个新工具,让版本控制变得更高效。

拆分一个 git commit 现在变得轻而易举,只需使用 git history split 命令即可。
  1. opello

    P.S. 关于拆分 commit 的 Stack Overflow 问题讨论的是那种老旧且繁琐的方法。第 20 个回答讲了正确的方法,但截至今日只有可怜的 2 个赞,而那个采用繁琐方法的旧答案却高居榜首,拥有 2656 个赞。

    现在它有 5 个赞了。离 2656 还差得远,但至少方向是对的。

  2. roelschroeven

    StackOverflow 在处理那些“正确答案会随时间变化”的问题时,真的不太行。不过我想这也不重要了,反正 SO 已经凉了:https://news.ycombinator.com/item?id=46482345

  3. diath

    这倒是让我长见识了,我通常会绕个弯子来做:先 soft reset 那个 commit,然后用 git add --patch 把 hunks 加到暂存区,从而把它拆分成多个 commit。

同日更多故事

2026-08-18