首页 > 其他分享 >项目的GIT分支管理

项目的GIT分支管理

时间:2023-04-10 10:26:09浏览次数:29  
标签:GIT develop 项目 代码 合并 feature master 分支

概览

一个项目涉及到多个模块多个团队进行开发时,则需要将git分支进行规范化管理
image

这种模式下,主要维护两类分支:

  • 主要分支
    • master
    • develop
  • 辅助分支
    • featrue branch(功能分支)
    • hotfixes branch(热修复分支)

master

代码库中有且只有一个主分支,master 分支的代码是最稳定的,可以随时发布到生产环境。

develop

用于日常开发,保存开发过程中最新的代码。
当 develop 分支上的代码达到稳定时,并具备发版状态时,将 develop 的代码合并到 master,并且打一个带有发布版本号的 tag。

feature

从 develop 分支上拉取一个新的分支,开发某个新的功能,开发完成之后,在合并到 develop 分支,功能分支通常只存在于开发者的本地仓库,并不包含在远程库中。

hotfix

从 master 分支上拉取,为修复分支。软件正式发布之后难免会出现bug,会在hotfix上进行代码修复。修复结束之后合并到 master 和 develop 分支上。

总结

优点:

  1. 各个分支职责分明,是很多分支管理策略的启蒙模型

缺点:

  1. 合并冲突:多个分支可能会很多,有一些并行的feature 分支,很有可能发生冲突。频繁手动解决冲突不仅增加了工作量,而且增大了出错的风险。
  2. 功能分离:并行开发时,合并分支前无法测试组合功能,而且合并之后可能会有影响。
  3. 无法持续交付:一个 feature 分支要经历很多步骤才能发不到正式环境,难以达到交付的要求。
  4. 无法持续集成:持续集成鼓励更加频繁的代码集成和交互,尽早解决冲突。而 Git Flow 的分支策略隔离了代码,尽可能推迟代码集成。

标签:GIT,develop,项目,代码,合并,feature,master,分支
From: https://www.cnblogs.com/zhaoxu46/p/17301993.html

相关文章

  • 受益海外铜钴镍项目,一季度盛屯矿业净利4.16亿元
    4月27日晚间,盛屯矿业发布了2020年年度报告和2021年一季报。2020年公司共实现营业收入392.36亿元,实现归属于上市公司股东的净利润5,908.88万元,扣除非经常性损益后的净利润为13,619.71万元。值得关注的是2021年一季报显示,报告期内公司实现营收115亿元,实现净利4.16亿元,创出公司历史当......
  • GitLab 忘记密码
    使用root权限进入gitlab所在的linux服务器,打开一个终端,输入以下命令:gitlab-railsconsole-eproduction这个-e的参数一定不能少,命令比较慢,几十秒后,会进入控制台。查找root用户:user=User.where(id:1).first修改密码:user.password='newpassword'再次确认修改密码:......
  • 微前端项目部署方案
    作者:京东科技高飞前言本文旨在通过部署微前端项目的实践过程中沉淀出一套部署方案,针对项目分别部署在不同的服务器上的场景,就一些重点步骤、碰到的问题做了一些总结。部署顺序因为线上部署主应用时需要用到子应用的线上可访问地址,因此部署顺序应该是先部署子应用,保证子应用能......
  • 碉堡!“万物皆可分”标记模型上线「GitHub 热点速览」
    这周有个让人眼前一亮的图像识别模型segment-anything,它能精细地框出所有可见物体,它标记出的物体边界线清晰可见。如此出色的模型,自然获得了不少人的赞赏,开源没几天,就拿下了18k+的star,而上周开源不到48小时获得35k+star的推特推荐算法,本周也成功突破50k+关卡。依旧是......
  • jenkins+gitlab+harbor部署CICD
    jenkins相关操作docker部署jenkinsdockerrun--namejenkins-d-p8080:8080-p50000:50000--privileged=true--restart=always-v/jenkins/home:/var/jenkins_home-v/var/run/docker.sock:/var/run/docker.sock-v/usr/bin/docker:/usr/bin/dockerjenkins/jenkins:2......
  • .NET: 谈谈共享项目 (Shared Project) 的使用
    从VisualStudio2015起,共享项目(SharedProject)作为新的一种项目类型被添加到项目模板列表中,它的主要目的是使多个不同类型的项目之间可以共享代码或资源。相比它的前任PCL(PortableClassLibrary),它要灵活得多。因为SharedProject共享的是代码或资源,并且不会创建单独......
  • Git config设置相关记录
    如下图中所示,git提供了三层级别的config设置,下层的设置都可以个性化覆写上层的设置,举例来说就是global层的设置可以覆写system层的设置。 ......
  • Git 工具 - 子模块: submodule与subtree的使用
    git日常使用中,基本都是一个项目一个Git仓库的形式,那么当我们的代码中碰到了业务级别的需要复用的代码,我们一般怎么做呢?比如:某个工作中的项目需要包含并使用另一个项目。也许是第三方库,或者你独立开发的,用于多个父项目的库。所以需要提取一个公共的类库提供给多个项目使用,但是......
  • head/reset/revert/rebase代码回滚全解:git提交记录的背后原理
    多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,操作有:回退(reset):reset是彻底回退到指定的commit版本,该commit后的所有commit都将被清除;reset执行后不会产生记录反转(revert):revert仅是撤销指定commit的修改,并不影响后续......
  • 基于k8s的web集群项目
     准备5台linux机器   系统是centos7.9 2核/4G的配置1.k8s的部署安装1.1.准备环境:先给每台服务器起好名字,使用固定的ip地址,防止后面因为ip地址的变化,导致整个集群异常(每台机器)master192.168.18.139node1192.168.18.138node2192.168.18.137......