如何使用git rebase管理你的开发流程

如何使用git rebase管理你的开发流程

最近在公司换了一个新部门,之前代码的提交流程比较混乱,这里整理一下比较规范的Git开发流程。

  • 新建本地主分支
    首先假设远程代码仓库的origin/dev分支是我们的开发分支。
$ git checkout -b dev origin/dev

第一步先新建一个本地的 dev 分支,并和远程的origin/dev分支关联起来。后面会一直将这个分支保持和origin/dev代码同步。

  • 切换到本地开发分支
$ git checkout -b bug_001

现在假设我有个新的bug需要修改,那么新建并切换到bug分支bug_001。在这个分支上进行bug的修复,完成之后执行git addgit commit操作,先将代码提交到本地分支。

  • 切换回本地主分支,并更新主分支代码
$ git checkout dev
$ git pull

切换回主分支并执行git pull命令,拉取最新的代码,防止在解决bug过程中有人往主分支提交代码,导致本地主分支滞后。

  • 回到开发分支并执行git rebase命令
$ git checkout bug_001
$ git rebase -i HEAD~2  //合并提交 --- 2表示合并两个
$ git rebase dev

切换到bug分支后执行git rebase -i操作,可以将本地的多次提交合并为一次,以简化提交历史,这步不是必须的,也可以省略掉。本地有多个提交时,如果不进行这一步,在git rebase dev时会多次解决冲突(最坏情况下,每一个提交都会相应解决一个冲突)。接着执行git rebase devdev最新的分支同步到本地,这个过程可能需要手动解决冲突(如果进行了上一步的话,只用解决一次冲突),如果git rebase的过程中出现了冲突,解决冲突后还需要执行git add,完了接着执行git rebase --continue命令。

  • 回到主分支merge开发分支并push代码
$ git checkout dev
$ git merge bug_001
$ git push -u origin dev:dev

接着再切换回主分支,并执行merge操作,然后就可以push到远程开发分支了。

总结

这么做看起来比较复杂,但是好处是显而易见的。

比如说我们在开发的时候经常会遇到代码本地提交完成后push代码的时候失败,提示我们的本地代码滞后远程分支,一般我们会选择git pull操作,但是这么操作会导致git提交记录里面多一次merge记录,因为git pull操作实际上就等于git fetch操作和git merger操作的结合,用git rebase操作就可以避免这个现象,可以最大限度的保持提交记录的整洁性。

其次严格按照上面的Git开发流程还可以保证我们本地分支的灵活度,本地开发清晰并有迹可循。

下面的是我的公众号二维码图片,欢迎关注。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值