【Git】Git小项目模型梳理

事情的起因是笔者正在做的项目,是一个小团队,团队成员不到5人,且项目处于第一个生产版本的创建过程中,为没有合适的Git模型而犹豫了很久,最终确定的模型和最初的也有不同。特此记录,主要是为了个人总结,也便于读者阅读。
首先基于对大型开源项目的认知,笔者首先确定了多分支作为项目管理的支柱,因为在大型开源项目中,多分支的运用可谓是随处可见。但是此处笔者忽略了一个问题,多分支管理的基础内容已经形成了,且担心众多来路不明的开发者进行合并造成项目的问题。且多分支机制主要用于对现有的某个功能进行替代。
在此基础上,笔者决定远程使用单一分支,本地使用双分支,即个人的工作分支和远程dev分支对应的本地分支dev。这种双分支结构的好处就是可以很好的划分个人的工作和远程的工作,但是在实际应用中就会发现,每次进行小的修改之后都需要重新删除分支并创建新分支,而且双分支会造成操作上的问题。
最终笔者和团队成员一起确认了单本地分支和单远程分支的模型,单本地分支不允许项目成员先合并再拉取,必须坚持先拉取,再本地commit,再推送的过程,这既是将冲突解决的责任放在后一个人身上,也可以很好的实现将时间上的并行工作转化为串行工作,即先推送到远程的人拥有逻辑上的优先顺序。
这种流程的问题是对于一个比较大的需求,可能需要开发很久,以往笔者的做法是将其拆分成多个小任务然后分别提交一堆git commit,但这种操作对于协作项目是错误的,因为git本身并不是保存历史版本的工具,对于这些没有实现这个需求的commit,也不便于回退和测试。因此采用现在的工作流是正确的,也是将Git从管理历史版本的网盘工具变成了真正的结合软件工程的项目管理工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/384426.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt初入门9:qt记录日志的方式,日志库了解练习(qInstallMessageHandler,qslog, log4qt)

项目中用到qt,考虑有需要用到去记录日志,结合网络,整理一下,做记录。 简单了解后,qt实现日志模块思考: 1:借助qt自带的qInstallMessageHandler重定向到需要的目的地。 2:自己封装一…

CogVideo 实测,智谱「清影」AI视频生成,全民免费,连 API 都开放了!

不得不说,AI 视频生成界最近非常火热~ 前有快手「可灵」开放内测,一下子带火了老照片修复,全网刷屏: 怕是你还没拿到内测资格,被称为 “国货之光” 的「可灵」就结束了免费无限量模式。每天只有66点的免费额度&#x…

看 Unity 组件的源码 —— ILSpy

ILSpy 是开源的 .NET 程序集浏览器和解编译器。 下载 ILSpy ILSpy Github 地址:icsharpcode/ILSpy: .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform! (github.com) 它有 Release 包可以下载 也提供 IDE 的…

静态路由学习笔记

1. 静态路由应用场景 (1)静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。 (2)缺点是不能自动适应网络拓扑的变化,需要人工干预过多。…

Python爬虫技术 第13节 HTML和CSS选择器

在爬虫技术中,解析和提取网页数据是核心部分。HTML 和 CSS 选择器被广泛用于定位网页中的特定元素。下面将详细介绍这些选择器如何在 Python 中使用,特别是在使用像 Beautiful Soup 或 Scrapy 这样的库时。 HTML 选择器 HTML 选择器基于 HTML 元素的属性…

企业公户验证API如何使用JAVA、Python、PHP语言进行应用

在纷繁复杂的金融与商业领域,确保每笔交易的安全与合规是至关重要的。而企业公户验证API,正是这样一位默默守护的数字卫士,它通过智能化的手段,简化了企业对公账户验证流程,让繁琐的审核变得快捷且可靠。 什么是企业公…

ShadingModel一些分析

一、算法分级 二、DFGTexture 用拟合替换DFGTexture(Ref:Cod-Black Ops II) 优点:节省一张纹理的采样。 缺点: 1、效果上会变得暗一些,并且由于用拟合的原因,会多一点指令计算。 2、后续如…

《Milvus Cloud向量数据库指南》——BGE-M3:多功能、多语言、多粒度的文本表示学习模型

引言 在自然语言处理(NLP)领域,随着大数据时代的到来,对文本信息的精准处理与高效检索成为了研究热点。BERT(Bidirectional Encoder Representations from Transformers)作为近年来NLP领域的里程碑式模型,以其强大的上下文理解能力在多项任务中取得了显著成效。然而,面…

Android APP 音视频(01)MediaCodec解码H264码流

说明: 此MediaCodec解码H264实操主要针对Android12.0系统。通过读取sd卡上的H264码流Me获取视频数据,将数据通过mediacodec解码输出到surfaceview上。 1 H264码流和MediaCodec解码简介 1.1 H264码流简介 H.264,也被称为MPEG-4 AVC&#xff…

【Linux】一些基本指令

文章目录 前言Linux下基本指令Linux下一些常见的通配符Linux下的引号引用whoamiwholswhichaliaswhereisfindtouchmkdirrmdir & rmmancpmvcatmorelessheadtailechodatecalgrepzip & unziptarrz & szuname几个重要的热键关机 前言 在学习操作系统的时候,我…

Dav_笔记12:Automatic SQL Tuning 之 1 概述

自动调整优化器概述 Oracle数据库使用优化程序为已提交的SQL语句生成执行计划。优化器以以下模式运行: ■普通模式 优化器编译SQL并生成执行计划。正常模式为绝大多数SQL语句生成合理的计划。在正常模式下,优化器以非常严格的时间约束运行&#xff0c…

Python 高阶语法

前言: 我们通过上篇文章学习了Python的基础语法,接下来我们来学习Python的高阶语法 1.初识对象 在Python中我们可以做到和生活中那样,设计表格、生产表格、填写表格的组织形式的 面向对象包含 3 大主要特性:  封装  继承 …

Oracle系统表空间的加解密

实验环境 数据库选择的是orclpdb1,当前系统表空间未加密: SQL> show con_nameCON_NAME ------------------------------ ORCLPDB1SQL> select TABLESPACE_NAME, STATUS, ENCRYPTED from dba_tablespaces;TABLESPACE_NAME STATUS …

软件测试:Postman 工具的使用。开发及测试均需要掌握的测试工具

工具介绍 各个模块功能的介绍如下: 1、New:在这里创建新的请求、集合或环境;还可以创建更高级的文档、Mock Server 和 Monitor以及API。 2、Import:这用于导入集合或环境。有一些选项,例如从文件,文件夹导…

【Linux】远程连接Linux虚拟机(MobaXterm)

【Linux】远程连接Linux虚拟机(MobaXterm) 零、原因 有时候我们在虚拟机中操作Linux不太方便,比如不能复制粘贴,不能传文件等等,我们在主机上使用远程连接软件远程连接Linux虚拟机后可以解决上面的问题。 壹、软件下…

学习小型gpt源码(自用)

数据集构建_哔哩哔哩_bilibili (b站上有一系列课,从数据处理到模型构建和训练使用) 什么是batch? 为什么一个batch内的句子要一样长? 不同batch的长度可以不一样,但是同一个batch内长度一样!…

回文子串转二维dp的方式

目录 写在最前: 1. 首先我们要考虑一个问题:如何判断一个字符串是回文子串 2.如何创建dp[i][j]表示回文子串 3. 如何初始化? 4. 如何实现 问题引入: LCR 020. 回文子串 给定一个字符串 s ,请计算这个字符串中有…

Spring Boot入门指南:留言板

一.留言板 1.输⼊留⾔信息,点击提交.后端把数据存储起来. 2.⻚⾯展⽰输⼊的表⽩墙的信息 规范: 1.写一个类MessageInfo对象,添加构造方法 虽然有快捷键,但是还是不够偷懒 项目添加Lombok。 Lombok是⼀个Java⼯具库,通过添加注…

C语言 | Leetcode C语言题解之第279题完全平方数

题目: 题解: // 判断是否为完全平方数 bool isPerfectSquare(int x) {int y sqrt(x);return y * y x; }// 判断是否能表示为 4^k*(8m7) bool checkAnswer4(int x) {while (x % 4 0) {x / 4;}return x % 8 7; }int numSquares(int n) {if (isPerfect…

项目实战1(30小时精通C++和外挂实战)

项目实战1(30小时精通C和外挂实战) 01-MFC1-图标02-MFC2-按钮、调试、打开网页05-MFC5-checkbox及按钮绑定对象06--文件格式、OD序列号08-暴力破解09-CE10-秒杀僵尸 01-MFC1-图标 这个外挂只针对植物大战僵尸游戏 开发这个外挂,首先要将界面…