利用rebase合并分支,比merge简洁
- 在开发分支rebase master分支的变化图
假如rebase前master上有新的提交:
使用rebase后
- 切换到自己工作分支
$ git checkout myworkbranch
- 工作后提交自己的修改
$ git add .
$ git commit -m "我修改了,,,"
3.回到主分支,获取远程最新修改
$ git checkout master
$ git pull origin master
- 回到自己的工作分支,用rebase合并主分支的修改,如果有冲突则此时解决
$ git checkout myworkbranch
$ git rebase master
- 最后回到主分支,合并工作分支的修改,然后提交到远程分支
$ git checkout master
$ git merge myworkbranch
$ git push origin master
利用rebase修改commit记录
- 假如我们在当前开发中commit了多次,最后发现却没必要(要简洁)此时分支状态如下:
- 接下来使用rebase
$ git rebase -i HEAD~4
//或者 git rebase -i 第一次commit对应的id
//完整命令git rebase -i [startpoint] [endpoint],省略endpoint的时候默认到最后一个
这个命令执行以后会进入一个界面按提示操作、修改就好,之后就会变成:
这时候再将 dev 合并进 master,commit 信息都会简洁很多,并且也有利于 review.
注意, rebase 是会隐藏你真实的修改记录的,所以最后呈现出来的 git 历史并不能表现你的真实操作.