git 合并多个commit
Step 1. git rebase -i commit-id 会合并此次提交之后所有的提交为一个提交, 注意此次提交不会包含在内。
Step 2. 在 vim 编辑器中 会列出所有要合并的提交, 并修改内容, 保存并推出vim。
pick commit-id-1 commit-msg-1 => pick commit-id-1 commit-msg-1
pick commit-id-2 commit-msg-2 => s commit-id-2 commit-msg-2
pick commit-id-3 commit-msg-3 => s commit-id-3 commit-msg-3
step 3. 如果有冲突发生,解决冲突后并git add 然后运行 git rebase --continue, 在弹出的vim编辑器重重新编辑提交message.
然后保存并退出。 如果要终止这次合并 git rebase --abort , git rebase --edit-todo 重新查看和编辑。
Step 4. 如果远程仓库有当前分支,则可能会让我们进行git pull 操作, 此时执行 git push origin :branch-name 删除远程分支,
git branch --unset-upstream 将本地分支和远程分支进行解除关联。
Step 5. 最后运行 git push --set-upstream origin branch-name, 将本地合并的提交推送到远程仓库。