vs使用gitflow

1、背景:之前在开发一个项目时,用tfs管理代码,并用“禁止多人编辑”来避免冲突,但仅适用于开发团队较小时。缺点:

(1)、开发团队较大,开发人员较多时,会出现经常互相锁,增加沟通成本。比如增加文件时会锁住proj项目文件,其他人员不能增加文件。

(2)、当项目1.0版上线时,会继续开发增加其他功能,此时根据功能块和进度计划打出多个分支,打分支比较麻烦。

所以改用git。

Git分支和合并极其方便,有着成熟的开发代码管理套路。

2、分支介绍

vs使用gitflow_第1张图片

需要安装gitflow小插件,方便打分支

(1)master主分支,掌管最成熟靠谱、测试过的代码,用来发布部署

(2)develop属于开发代码主线,相当于多个开发人员的代码主线。其下分feature branch功能分支,按功能任务等分给不同开发人员的分支。开发人员完成任务时合并到develop分支。

(3)release分支是测试人员用,测试从develop上打出release分支进行测试。如果出现bug,开发人员需要直接在release分支上解决bug,不要在develop上修改。

A:如果测试发现不理想,不上线,则把代码合并回develop上去(上面有修改bug的代码)

B:测试顺利,则必须把release代码分别合并到develop和master分支上去。务必两个都要合并。

(4)hotfixes:产品上线后突出紧急bug,急需解决,则从master打出hotfixes分支,解决完后合并到develop和master分支上去。务必两个都要合并。

(5)能够按照tag等获取特定版本代码。

3、git中常用小工具

(1)积压工作项 backlog,用于管理任务进度,根据任务名字来定义feature branch名字

 

4、操作细节

 vs使用gitflow_第2张图片

 

(1)vs——扩展和更新——联机——gitflow for 2017

(2)有些vs2017可能没安装git相关组件,重新运行vs2017安装文件——修改——单个组件——适用于windos的git

(3)新建team project——agile——git——finish

4、设置——存储库设置——真实邮箱——d:\tfs2018——选择差异/合并(点两下),显示成visual studio 全局

5、clone代码后,旁边有个此外开发,千万不要点不再提示

6、看Home主页,是否本project

7、gitflow——initialize只能配一次,直接点,默认ok

8、如果git地址为Ip的情况,可以改为域名形式,方便切换代码服务器。

9、切换分支

右下角为当前分支,双击下可切换分支

 vs使用gitflow_第3张图片

 

10、务必用gitflow新建分支,千万不要用vs的新建分支

 vs使用gitflow_第4张图片

 

11、合并feature分支并删除

切换到develop分支

并且主页——分支——develop——右键合并自

 vs使用gitflow_第5张图片

 

合并完feature分支后,可以删除

 vs使用gitflow_第6张图片

 

12、git的提交是将代码提交到本地存储库,然后点同步才能提交到服务器。

13、新建解决方案时,new solution—勾选git存储库

14、原有代码添加到git:(1)在服务器端增添项目,并且将团队成员加入,不要等待代码上传完毕后再加人,容易有权限bug(2)连接git上的项目地址,配置代码库,克隆,此时文件夹是空的,没有代码。(3)然后将原有代码直接拷贝到文件夹下,打开——更改——同步——push。此时操作的是master分支。可以去服务器上查看下。(4)配置gitflow,initial初始一下,出来develop分支,右击,push branch,将develop分支提交到服务器。

15、右击feature branch——publish推送到server,同事可获取。一般不会把feature branch提交到server

16、新项目提交到git时只有master分支。需要登录git服务器管理端,创建拉取请求,从master到develop

 17、分支权限设置。

(1)分支安全性,设置每个角色的权限时,需要修改下1处的相应东西,再保存更改才有效果(小坑)

vs使用gitflow_第7张图片vs使用gitflow_第8张图片

 

(2)分支策略,可以对分支设置审阅人,开发人员不能直接提交代码,需要发出pull request,审阅人看到消息后,审核同意后,代码才能提交到服务器端

vs使用gitflow_第9张图片

 

转载于:https://www.cnblogs.com/taoshengyujiu/p/8143426.html

你可能感兴趣的:(vs使用gitflow)