git commit合并
· 阅读需 1 分钟
如何将多个 git commit 合并为一个?遇到冲突时怎么办?
常用方案
通常只需使用 rebase 命令:
# 合并最近的三个 commit
$ git rebase -i HEAD~12
终极方案
如果想要合并的 commit 中有 merge 操作,rebase 是可能会出现冲突,最强解决方案:
$ git diff --binary master...feature > ~/feature.diff
$ wc -l ~/feature.diff # 查看 diff 行数
$ git checkout feature-new
$ git apply ~/feature.diff
# 此时 feature-new 分支只有一个 commit,修改的内容与 feature 分支一致