Git rebase 使用例子
步骤
新建一个分支
git checkout -b bugfix/style
做了一些修改,然后 add,commit提交
git checkout master
git rebase bugfix/style
如果这一步没有冲突就直接 push。
如有这一步出现冲突,则Git会停止rebase并会让你去解决 冲突;在解决完冲突后,用git add
命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行:
git rebase --continue
这样git会继续应用(apply)余下的补丁。
如果希望修改push前的commit,则
git commit --amend
在任何时候,你可以用--abort参数来终止rebase的行动,并且master 分支会回到rebase开始前的状态。
git rebase --abort
用途
merge分支
rebase分支
rebase用于把一个分支的修改合并到当前分支,使得主干看起来更加清晰。
develop 分支同步主干 master 最新
develop分支提交后,发现和master差了几个版本,若此时在 develop 上执行:
$ git pull origin master
Merge branch 'master' of github.com:msg/msgs-sms into develop
不希望有这个多余的提交的话可以使用 rebase
$ git rebase master
First, rewinding head to replay your work on top of it...
Applying: chore: alidayu 的http回调形式,不过因其语音没有这种形式的回调,所以还是注释了
Applying: feat: alidayu的语音http回调终于被发现了,接收状态报告可以再也不需要tmc了。此外在优化了下send页面的表单逻辑
接着执行 git log 就可以看到 master 上的几个版本都被合了进来。