美文网首页
我司提交代码的流程

我司提交代码的流程

作者: mkb2 | 来源:发表于2018-01-18 16:45 被阅读148次

    用过sourcetree,也用过命令行,有系统的学习过,但是在某些情况下还是一点懵逼;
    有的到时候不要codeReview,所以几个人在一起直接merge一个dev分支就好了,但是后来发现如果多人开发还是要Pull Request的,所以就要用到了rebasemerge

    简单描述下我司的工作流程

    • 1.开发分支为develop,总分支为master
    • 2.所有人开发都是依赖develop.
    • 3.做事情,基于develop拉出来一个分支,随意起名,我们叫做4.12_feature_addtab_wx
    • 4.将4.12_feature_addtab_wx完成后,提交到远程
    • 5.众人codeReview后同意即可mergedevelop
    • 6.如果此时没有冲突,点击merge即可(这个就是类似于githubPull Request)
    • 7.如果有冲突,那么回到sourcetree或者terminal,切换分支到develop,然后更新代码为最新即可
    • 8.切换分支到4.12_feature_addtab_wx,然后右键develop,选择rebase current change onto develop(基于develop分支,更新一下代码),如果遇到了冲突,直接解决就好了;
    • 9.解决完冲突,直接在Pull Request中直接点击merge即可;

    总结:

    rebase操作

    没有冲突,就是merge,有了冲突,就是先rebase解决冲突,在merge合并分支

    关于解决冲突可能出现的问题

    1.解决完冲突,Mark Resolved一下

    rebase解决完冲突之后,还是要提交一下的,否则sourcetreeterminal是不知道的,

    有冲突,可以使用我自己的代码,或者他人的代码,如果直接点击了这二者其一,他都默认执行了Mark Resolved,如果是手动修改的,并且修改完毕,要记得,选择一下Mark Resolved

    2.继续rebase

    当所有的问题都解决,mark resovlved了,然后再去 continue rebase

    3.可能会多次rebase

    假设4.12_feature_addtab_wx上,我们commit了15次,每次都修改了WMBOrder这个类,那么我们rebasedevelop分支上,也修改了WMBOrder类,当我们要merge代码的时候,发现本地的develop分支不是最新的,所有区更新了一下,我们要拉新代码,然后基于developrebase一下,然后这时候,可能要合并15次,这个好像是每次都要修改,直到将我们的commit中所有develop有冲突的都要修改一边,比较麻烦.
    所有尽量不要去rebase坏了,如果坏了,也没事,直接别删除合并前的两个分支就行,在重新rebase,慢慢再来一遍就行了

    仔细看看合并的点,是一次新的提交,Merge pull request XXX merge和rebase的区别

    相关文章

      网友评论

          本文标题:我司提交代码的流程

          本文链接:https://www.haomeiwen.com/subject/pcywoxtx.html