5分钟入门git模式开发

本文由云+社区发表

做者:唐维黎javascript

导语

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

img

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

开发流程以下:

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

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与你相关的文件~svn

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

1. 克隆代码仓库到本地

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

img

点肯定后会提示你输入用户名和密码,这个跟svn相似 而后等待一会代码就成功克隆到本地了,速度比svn要快不少,另外也能够直接用命令行的方式ui

git clone XXXXX.git

img

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

2. 建立本地分支

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

img

img

3. 查看及切换当前分支

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

img

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

img

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

4. 开发完成后Commit

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

img

Commit到本地仓库,Commit这里也能够直接一次性push到线上仓库,但通常状况下不会这么干, 在多人协做的时候,其余人要合并代码到dev-xxx分支时能够直接一键commit+push

5. 合并分支

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

img

6. 提交到线上仓库

右键 -> TortoiseGit -> Push...

img

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

7. 合并到master主干分支

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

img

到此本次需求完成

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

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

相关文章
相关标签/搜索