Gitee

Git分支的概念

02-20 22:50

在开发中,偶尔会遇到这样的情况

线上项目已经有支付宝在线支付功能,现在需要开发微信支付功能

开发中一共修改了两个文件:wechat.php和pay.php,每个文件都修改了多个地方,并且还没做测试,不能保证放到线上会不会影响到项目正常运行

这时突然发现支付宝在线支付功能存在一个bug,必须及时修复,需要改动的文件是alipay.php和pay.php


这种情况比较尴尬,做微信支付时已经修改了pay.php,修复线上bug也要改动pay.php,两者现在只能选则重要的一方进行继续操作,肯定首选修复线上的支付宝在线支付

这会导致原来的微信支付工作部分白做,有没有更好的解决方法呢?


答案是有的,做微信支付时,可以先把原仓库复制一份,在此副本中修改,不影响原仓库内容,全部修改完毕后,再把副本中的代码合并过去


这便是分支思想


git常见的master,表示代码的主干分支

事实上,在实际开发中,往往不会直接修改和提交到master分支上

而是创建一个dev分支,在dev分支上,修改测试,没问题后再把dev分支合并到master分支上

分支.png


上文的解决办法就是:

在做微信支付时,创建一个wechat分支,把wechat分支commit,此时,master分支内容不会受到影响,因为分支不同

在修改支付宝在线支付bug时,创建一个alipay分之一,修复完成后,把alipay分支合并到master分支上

再次切换到wechat分支上,接着开发微信支付,开发完成后,再把wechat分支合并到master分支上



svn也能创建分支,原理是直接把项目copy一份,如果项目较大则比较费时费力,每创建一个都需要下载一次

git的分支原理较为现金,只记录变化,不用copy项目,所以git创建分支是秒级别的,很适合开发大项目使用


  • 0

  • 0

  • 0

  • 0

  • 0

  • 0

微信小程序
大潇博客 版权所有 Copyright ©2016~2025
京ICP备17004217号-6  合作QQ:284710375
天玺科技