用git rebase把分支上一个功能的多次提交合并成一个提交
-
git rebase -i start_commit_id end_commit_id
start_commit_id,end_commit_id 这2个参数是一个前开后闭的,也就是说start_commit_id是你要合并的commit的前一个commit_id
执行命令之后,会弹出交互式对话框。第一行是要合并到的commit id, 把剩余的行里的squash改成s,然后保存。保存之后会弹出另外一个对话框,把不要的提交信息注释掉,留下正确的提交信息,保存。
保存之后,如果填了end_commit_id,会生成一个游离的分支,这时需要先git checkout -b new_branch, 然后切换到你rebase的分支,然后执行 git rebase new_branch。 -
git push -f
强制把本地修改推到远程仓库中