跳到主要内容

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 分支一致