vs使用gitflow
1、背景:之前在开发一个项目时,用tfs管理代码,并用“禁止多人编辑”来避免冲突,但仅适用于开发团队较小时。缺点:
(1)、开发团队较大,开发人员较多时,会出现经常互相锁,增加沟通成本。比如增加文件时会锁住proj项目文件,其他人员不能增加文件。
(2)、当项目1.0版上线时,会继续开发增加其他功能,此时根据功能块和进度计划打出多个分支,打分支比较麻烦。
所以改用git。
Git分支和合并极其方便,有着成熟的开发代码管理套路。
2、分支介绍

需要安装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、操作细节

(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、切换分支
右下角为当前分支,双击下可切换分支

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

11、合并feature分支并删除
切换到develop分支
并且主页——分支——develop——右键合并自

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

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处的相应东西,再保存更改才有效果(小坑)


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

vs使用gitflow的更多相关文章
- 聊聊Unity项目管理的那些事:Git-flow和Unity
0x00 前言 目前所在的团队实行敏捷开发已经有了一段时间了.敏捷开发中重要的一个话题便是如何对项目进行恰当的版本管理.项目从最初使用svn到之后的Git One Track策略再到现在的GitFlo ...
- gitflow以及git
git大概只会用常用的那几个命令,自己用的最多的也只是add commit push pull之类的,然后那天电话面试问我版本回退怎么办我都忘记了. 然后又看了看教程,此时想起来做项目的时候师兄说的g ...
- [Tool] SourceTree初始化GitFlow遇到错误(git command not found)的解决方案
[Tool] SourceTree初始化GitFlow遇到错误(git command not found)的解决方案 问题情景 使用SourceTree,可以方便开发人员快速的套用GitFlow开发 ...
- 项目管理gitflow的用法(转)
在这里主要讲一下我在项目中用到的关于gitflow的用法. 公司的项目中,专门有一台用来存放版本库的服务器,路径是在默认的安装目录/opt/git/,那么在使用的时候,如果你是一个功能模块或者是一 ...
- 在VS下使用 GitFlow管理项目开发
在VS下使用 GitFlow管理项目开发 1.右键将你的解决方案添加到源代码管理,如果你的VS没有安装git,会提示安装,安装完成之后,在团队资源管理可以看到如下界面 (图一) 2.安装gitflow ...
- 【转】使用git、git-flow与gitlab工作
转自:http://www.tuicool.com/articles/BZJRj2 使用git.git-flow与gitlab工作 时间 2013-11-02 00:40:39 Axb的自我修养 原 ...
- Git-Flow
Overview Git-Flow is a high-level command set wrapping low-level Git commands to support the "s ...
- GitFlow教程
GitFlow教程 这份教程是博主学到的git基础,仅适合小团队使用,仅供参考 配置Git 配置github上面的账号,首先需要自己在git上注册一个账号 git config --global us ...
- Git工作流指南:Gitflow工作流 Comparing Workflows
Comparing Workflows The array of possible workflows can make it hard to know where to begin when imp ...
- linux下gitflow辅助工具安装和使用
gitflow是一个确保nvie推荐的git branch分支策略最佳模型得到有效实施的辅助工具.它作为git的一个子命令而存在. http://nvie.com/posts/a-successful ...
随机推荐
- [math] 绘制空间几何体的直观图
这么多年,一直凭着从天而降的神来之灵感画着立体图. 而今才知道在二维平面上绘制空间几何体的直观图也是有方法的.叫做“画法几何” 1. 斜二测图 就是倾斜y轴,使y轴与x轴成45度的夹角.见: http ...
- 第一版STM32PCB的问题
1.5与6引脚连在一起了 2.有3个插排隔得太近,导致传感器安装不了 3.开关不匹配,画PCB时可以考虑一下实验室有哪些东西 4.可以用开关代替跳冒 5.AM3.3电路电容 6.钽电容的正负极区分 有 ...
- day2_jmeter断言
断言就是:检查返回结果,测试是否通过,就是自动帮你校验结果用的 1)添加响应断言 我们模式匹配规格选择包括
- 添加linux系统调用的两种方式
原文:https://blog.csdn.net/sdulibh/article/details/51889279 向linux内核添加系统调用,一是通过编译内核添加,二是通过内核模块的方式添加: 一 ...
- mysql存储过程游标嵌套循环
自己写的一个mysql存储过程如下: BEGIN DECLARE _did bigint(20);DECLARE _count int;DECLARE s1 int;DECLARE cur_1 CUR ...
- es6原型的继承
class Parent { name = 'liangcheng'; } const parent = new Parent(); console.log(parent); // 类继承某实例对象属 ...
- finecms如何控制调用子栏目的数量
finecms如何控制调用子栏目的数量?比如只要调用栏目id为23下的3个子栏目要怎么写?我们把num=3放后面不能实现,放在return前面就可以了,原来是顺序的问题,return只能放最后 {li ...
- Finecms模板标签调用小结 方便快速入门
最近接了一个单子客户要求用finecms进行建站,由于也是php代码,也可以直接调用相关函数,所以上手相对比较快,ytkah总结了一些常用的函数方便您快速入门Finecms.一个网站一般由主页.栏目页 ...
- Linux-eth0 eth0:1 ifcfg-lo ifcfg-lo:0 和eth0.1关系、ifconfig以及虚拟IP实现介绍
eth0 eth0:1 和eth0.1三者的关系对应于物理网卡.子网卡.虚拟VLAN网卡的关系:物理网卡:物理网卡这里指的是服务器上实际的网络接口设备,这里我服务器上双网卡,在系统中看到的2个物理网卡 ...
- MACD回零轴有三种方式
MACD回零轴三种方式 MACD上双线回抽或者回档到0轴附近: 第一主动回零轴. 第二被动回零轴. 第三单N回零轴. 随后的走势第二种涨幅最猛.第三种级别最大. 这里要正确理解背离.背离有三种.1,指 ...