1. 现在新建了这么一个demo,分成了master和test_rebase两个分支,在建立分支之后,分别在两边各自有更改并且有提交。

    git rebase处理分支合并时多出来的commit

  2. 这时我尝试合并test_rebase分支到master。可以看到合并的时候多了一条commit,"Merge branch 'test_rebase'"。

    如果这时候我直接尝试提交代码,git服务器端就会收到两个提交记录。

    git rebase处理分支合并时多出来的commit

  3. 所以现在要尝试通过rebase命令合并这两条commit,先用git log命令查看一下提交记录。

    git rebase处理分支合并时多出来的commit

  4. 因为我们是想在993414节点之前合并变更,所以我们执行

    git rebase -i 9934142b9b52ffef3e87e32eadd1d155c157a0ff(commit id)

  5. 因为最后一条Merge branch 'test_rebase'没有实际的更改记录,所以我们在rebase的时候只要pick有更新的这个节点就行了。

    保存之后就会合并成功。

    git rebase处理分支合并时多出来的commit

    git rebase处理分支合并时多出来的commit

  6. 这时候我们希望合并的commit就被合并到master上了

    git rebase处理分支合并时多出来的commit

  7. 删除test_rebase分支,就得到了一个干净的master分支,上传的时候就不会出现两次提交

    git rebase处理分支合并时多出来的commit

 

 

 

 

 

 

相关文章: