5分钟入门git模式开发

本文由云+社区发表

作者:唐维黎

导语

基于gui工具TortoiseGit让你快速进入git开发模式。

目前项目已逐步从svn移步到git开发模式,其中也针对git统一协议了适合git的开发规范, 最重要一点就是分支模型的,为了规范开发,不直接在主干上修改代码,一切代码都提交至分支dev,然后再由分支合并到主干master。 首先保证每个仓库下有以下两个常驻分支(永远不删除的分支): master:主干分支,始终保持跟外网服务器一致,只用于外网发布,这样就可以保证文件不会带出去的风险; dev:基于master创建,用于开发新功能和新需求的分支。

开发流程如下:

\1. 基于dev分支创建dev-xxx分支,开始进行普通的常规需求开发,开发完成后,Commit提交代码到本地仓库,如果这个新项目或者功能比较大有多人协同开发,怕会相互影响对方的代码,现从dev-xxx分支创建新分支dev-xxx-user进行开发,前提是dev-xxx分支需要push到线上;

\2. 开发完成后将dev-xxx分支合并到dev分支,然后部署dev到测试环境进行测试,测试过程中有bug的话修复完后同样合并到dev分支。如果是在多人协同开发的情况下先将dev-xxx-user分支合并到dev-xxx,再将dev-xxx合并到dev分支;

\3. 测试完成后,将dev分支合并到master分支,然后进行正式发布。发布完成后删除dev-xxx和dev-xxx-user分支; 如果担心在最后一步合并代码到master时有问题,也可以在测试的时候随时更新到本地master(先checkout master分支到本地),但不要push到线上,本地master 如果一定push到线上的话,这就要保证你的需求未测试发布前,别人不会发master与你相关的文件~

另外,如果是外网BUG或者日常,就可以在master上直接创建分支,修复完成后发布,定时同步dev分支,这样可以提高效率 ~ 下面以一个简单的需求来实际操作下,看看TortoiseGit的使用方法: (前提本地是有安装git和TortoiseGit)

1. 克隆代码仓库到本地

在指定文件夹下,右键 -> Git Clone..

点确定后会提示你输入用户名和密码,这个跟svn类似 然后等待一会代码就成功克隆到本地了,速度比svn要快很多,另外也可以直接用命令行的方式

git clone XXXXX.git

代码克隆后,后续分支都是在本地的同一份代码上进行分支创建,而无需再次克隆~

2. 创建本地分支

创建分支前请实时git pull线上仓库到本地,保证本地dev是最新 进入刚克隆下来的目录,右键 -> TortoiseGit -> Create Branch..

3. 查看及切换当前分支

右键 -> TortoiseGit -> Switch/Checkout...

切换成功后,可通过Git bash查看是否真的切换过来

也可以在命令行直接git branch查看,高亮的为当前分支 重要:注意在开发的时候请保证当前自己所修改的代码是当前需求的分支

4. 开发完成后Commit

右键 Git Commit -> ‘dev-xxx‘ 提交记录一定要填 ,其它信息可选

Commit到本地仓库,Commit这里也可以直接一次性push到线上仓库,但一般情况下不会这么干, 在多人协作的时候,其他人要合并代码到dev-xxx分支时可以直接一键commit+push

5. 合并分支

首先切换到要合并的目标分支(切换分支见上述3),本次要将dev-xxx合并到dev分支,我们切换到dev分支, 右键 -> TortoiseGit -> Merge...

6. 提交到线上仓库

右键 -> TortoiseGit -> Push...

会要求你输入用户名和密码 提交成功后,提单部署测试环境

7. 合并到master主干分支

测试通过并完成后,将dev分支合并到master并push到线上仓库,提单发布外网, 合并到master的时候,可以将线上的master分支checkout到本地,然后进行本地的dev和master合并,再push到线上, 也可以直接将本地dev直接合并到线上master(remotes/origin/master)分支,本地合并冲突比较好解决,也不会影响线上。

到此本次需求完成

此文已由腾讯云+社区在各渠道发布

获取更多新鲜技术干货,可以关注我们腾讯云技术社区-云加社区官方号及知乎机构号

原文地址:https://www.cnblogs.com/qcloud1001/p/10382874.html

时间: 2024-11-06 09:13:43

5分钟入门git模式开发的相关文章

10分钟入门微信小程序开发:从环境搭建到开发出第一个程序。

小程序简介 小程序是一种不需要下载安装即可使用的快速应用,它实现了应用“触手可及”的操作:用户扫一扫或搜一下即可打开应用,完全不需要安装,因此小程序不仅可提高的用户的应用体验,也方便应用的传扩散. 本文带大家快速入门小程开发,了解从环境搭建到开发出一个简单hello world程序,从而上手小程序开发,让你快速成功小程序开发人员.之后,想开发什么样的小程序,就可以自己研究和努力了. 下面,是循序渐经的步骤: ?1.注册小程序 在开发之前,当然需要先注册一个小程序账号. 进入“微信公众平台”进行注

iOS开发60分钟入门

iOS开发60分钟入门 原文:https://github.com/qinjx/30min_guides/blob/master/ios.md 本文面向已有其它语言(如Java,C,PHP,Javascript)编程经验的iOS开发初学者,初衷在于了解如何开始开发iOS App,学习目标包括: 能使用Xcode IDE.模拟器 能修改.调试已有iOS App 能在已有应用内创建新模块 能创建新应用 能发布应用到App Store 本文不包含任何高级的iOS开发知识,已学会iOS开发的同学不要看,

【原创】30分钟入门 github

很久没更新了,这篇文章重点在github的入门使用,读者可以下载github for windows shell,边看边操作,加深印象. 好了,30分钟的愉快之旅开始吧: 一.github使用的注意事项: 1.对于某一次更新提交,必须要有这次操作的commit操作,git commit -m “评论内容”,这样才能成功提交. 2.对github的使用是本地修改再提交的过程.本地操作的时候,文件夹名字和远程resipository尽量一致. 3.使用别人的开源项目时,需要先把对方的项目fork到自

【转】正则表达式30分钟入门教程

首页 | 常用正则表达式 | 正则表达式测试工具 正则表达式30分钟入门教程 版本:v2.33 (2013-1-10) 作者:deerchao 转载请注明来源 目录 跳过目录 本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 网上的资源及本文参考文献 更新纪录 本文目标 30分钟内让你明白正则表达式是什么,

正则表达式30分钟入门教程(转)

来园子之前写的一篇正则表达式教程,部分翻译自codeproject的The 30 Minute Regex Tutorial. 由于评论里有过长的URL,所以本页排版比较混乱,推荐你到原处查看,看完了如果有问题,再到这里来提出. 一些要说的话: 如果你没有正则表达式的基础,请跟着教程“一步步来”.请不要大概地扫两眼就说看不懂——以这种态度我写成什么样你也看不懂.当我告诉你这是“30分钟入门教程”时,请不要试图在30秒内入门. 事实是,我身边有个才接触电脑,对操作都不是很熟练的人通过自己学习这篇教

正则表达式30分钟入门

来源:http://deerchao.net/tutorials/regex/regex.htm#lookaround 正则表达式30分钟入门教程 版本:v2.33 (2013-1-10) 作者:deerchao 转载请注明来源 目录 跳过目录 本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 网上的资源及

Storm使用入门之本地开发环境搭建

本篇博文详细告诉你如何安装Storm的本地开发环境,总体分为两步,具体如下: 1.从官网上下载Storm的发布包,下载完成后将其解压,并将解压后的bin目录添加到环境变量(PATH)中,以方便后续执行Storm的相关命令 2.修改Storm的配置文件(storm.yaml),主要是按照实际情况更新配置文件中的集群信息,然后将修改后的配置文件添加到目录(~/.storm/)中,目的是为了后续能够远程启动和停止集群上的计算任务(即topology) 接下来,咱们来详细地介绍每一个操作步骤. 首先,何

Netty入门二:开发第一个Netty应用程序

    既然是入门,那我们就在这里写一个简单的Demo,客户端发送一个字符串到服务器端,服务器端接收字符串后再发送回客户端. 2.1.配置开发环境 1.安装JDK 2.去官网下载jar包 (或者通过pom构建) 2.2.认识下Netty的Client和Server 一个Netty应用模型,如下图所示,但需要明白一点的是,我们写的Server会自动处理多客户端请求,理论上讲,处理并发的能力决定于我们的系统配置及JDK的极限. Client连接到Server端 建立链接发送/接收数据 Server端

十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less))

十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less)) 注:本文为翻译文章,因翻译水平有限,难免有缺漏不足之处,可查看原文. 我们知道写css代码是非常枯燥的,尤其是写重复颜色.样式的代码,这需要我们付出很多努力来保持css代码可维护,但是它本不应该是这样的. 很幸运地是,web开发社区已经解决了这个问题,我们在现在已经有了类似与less.sass和stylus这样的预处理器.它们有很多优于一般的css之处,如下所示: 变量---以至于我们可以在样式表中