git rebase 学习

大致记录一下

  1. 一般 不管是 rebase 还是 merge 都需要先 把 master 本地的和远端同步一下,如果你没有操作篡改 master代码,只需要git checkout master 并做git pull 然后再checkout 你的分支上
  2. Rebase 一般在你的现有分支上操作,比如 muller_dev,不要在master 上操作
  3. git rebase 分支 是为了向 master 提 merge request 做准备
  4. git rebase 分支是为了方便merge request 的审核人 更清晰查看从上一次merge request到这一次merge request的代码更改全量,两次merge request 间隔 肯定会有多次commit ,如果不rebase 的话,审核人只能看到最近一次commit的更改 ,而无法查看全部更改
  5. git rebase -i HEAD~N N 的数字必须是明确的,不可以多,否则会出问题
  6. git rebase -I HEAD~n 把之前的多次commit 合并成一次 commit ,是会有一次新的commit在本地,需要 在 force push 更新到远端 git push -f origin muller_dev ,force push尽量不要出现在master上
  7. git rebase 作为一次新的commit 你可以书写新的 commit message ,在你 操作完 pick 修改为s 后 出现的交互shell中 ,git rebase 其实主要是把之前的commit 从pick 状态修改为squash ,squash 本意是压扁 拉平,相当于 flatten,等于把要 squash的commit,算作没有被修改 还是pick 状态的commit了
  8. 通过git log 查看到底你需要squash 多少个commit
  9. 如果你 rebase 不小心 污染了这个分支的代码 但是还没有push,可以使用 git rebase --abort 丢弃上次的rebase,当然 如果你是 git merge master 污染了 这个分支,使用git merge --abort 或者 删除本地这个分支 git branch -D muller_dev,然后再从远端拉取这个分支下来 git fetch origin muller_dev
  10. 在你 git rebase -i HEAD~N 你的本地分支时 ,一般需要先 git rebase master ,把已经和远端同步过的本地master 衍合到这个当前本地分支,这样 操作 是为了master更干净整洁 ,如果合并master有冲突,那这个冲突就在你的这个本地分支解决就可以了,然后再更新到远端的这个分支作为merge request 的源,防止master在解决冲突后导致另外的分支出现更多的冲突,保证master 只有code reviewer 有权限merge ,无人篡改,切记 一定要把本地的master 先与远端的master 同步更新了!!!
  11. 所以一般在 做 merge request 时你的必要操作流程,大概是这样的

 

        git checkout mastergit pullgit checkout muller_dev
         git rebase master
         git  log /status
       git rebase -i HEAD~n  —>pick—>s[squash]
       git push -f  origin muller_dev
       #  Create merger reqeust from muller_Dev to master
    #   code reviewer  check 


作者:Helen_Cat
链接:https://www.jianshu.com/p/fe0cd4304818
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值