项目中git 多分支使用总结

项目一般会有develop、master另个分支develop分支部署在测试环境测试,多个开发工程师把自己的commit都提交到develop分支,交给测试工程师来测试;master分支是上线分支,测试没问题的develop分支,在需要上线的时候合并到master分支。

保持master和develop提交历史一致,每次develop合并到master的时候不会出现冲突,保证线上的代码和测试环境环测试完成的代码一致,避免因为合并代码引起线上出问题。

有时候需要临时上线,可以基于master分支建立hotfix分支,测试后合并到master分支。

hotfix分支和develop分支是并行的,hotfix分支合并到master分支后,需要同时合并到develop分支,保证develop分支和master分支提交历史一致。

hotfix分为两种情况:

A:hofix和develop分支没有修改相同文件,不会出现冲突

   1)master分支:

        a -> b 

   2)develop分支

        ​a ->b -> c        commit c修改了文件x

   3)hotfix分支

        a->b-> c1       commit c1 修改了文件y

    *合并操作如下:*

   1)master merge hotfix

        master: a->b->c1

   2) develop rebase master

        develop: a->b->c1->c    该过程中不会出现冲突(因为没有修改相同文件)

B:hotFix和develop分支修改相同文件,出现冲突

   1)master分支:

        a -> b 

   2)develop分支

        ​a ->b -> c         commit c修改了文件x

   3)hotfix分支

        a->b-> c1          commit c1 修改了文件x

   *合并操作如下:*

   1)master merge hotfix

        master: a->b->c

   2) develop rebase master

         develop: a->b->c1->c2    

该过程中出现冲突(因为修改了相同文件),需要手动修改冲突,确定最终x文件的版本。commit c2是在c版本上解决冲突后的版本

按照上述流程修改后,develop合并master不需要解决冲突

tip: merge的时候请包含提交的commit信息,使用下面命令操作,这样方便查看历史记录

    git merge master --log --no-ff
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值