156-0102-3311
联系QQ 284710375
首页 > 技术分享 > Git
分享到:收藏

Git分支的概念2021-02-20 22:49: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创建分支是秒级别的,很适合开发大项目使用


打赏

阅读排行

    大家都在搜

    博客维护不易,感谢你的肯定
    扫码打赏,建议金额1-10元
  • 15601023311