团队Git工作流总结
为什么使用Git
“svn用了这么多年都好好的,为啥折腾搞Git?”“Git一点都不好用,提交个代码都提交不上去!”“Git这么复杂,命令多到记不住,而且完全用不到。哪有svn简单好用?”
- 对于开发者,可以随时提交修改到本地仓库,方便代码修改查看,回滚,终结svn时代开发阶段无代码管理工具、代码管理混乱的窘境,提高个人代码管理效率。
- 如果一个功能需要尝试多种方案进行对比,开发者可以通过本地分支对多个方案代码进行修改、对比、查看等管理,终结svn时代手动备份代码的远古习惯,提高个人代码管理效率。
- 如果一个功能需要多人协同开发,可以通过Git分支协同开发,驱散自己搭svn服务器、建svn仓库、代码手动同步的苦闷,提升团队协同开发效率。
- 如果这些都没有打动你,那还有最后一点:全世界都在用Git,作为基本技能的Git你都不会的话,以后找工作都困难哦。
团队级Git分支模型
- remote/master
- remote/master, remote/dev
- remote/master, local dev
alex@alex-desktop:~/healthcheck$ git br -a
* master
remotes/origin/master
这个分支模型只有master分支。适用于在新团队中起步推广Git,避免使用复杂的分支模型,引起程序员心理不适。而且对于不需要协同开发的任务,这个分支模型也够用了。
alex@alex-desktop:~/sc/robot_framework$ git br -a
develop
* master
remotes/origin/develop
remotes/origin/master
这个分支模型有master和dev分支,master分支是稳定版本分支,用于每日自动化测试的持续集成,要保证功能稳定。dev分支是开发分支,用于新特性开发和协同开发需要。
alex@alex-desktop:~/sc/ci$ git br -a
* alex_dev
master
remotes/origin/master
这个分支模型除了一个master分支外,还有一个未推送的本地dev分支。这种分支模型适用于如下场景:想验证对比多个实现方案,对已有实现采用多种策略进行重构尝试;只想从主分支同步某些合入,避免不相关的同步破坏自己正在开发的功能。
团队级Git工作流程
- fetch只更新local repo,不修改local branch;
- pull更新local branch,pull等价于fetch+merge,pull -r等价于fetch+rebase;
- merge、rebase同时更新local branch、stage和workspace,只是合并策略不同;
- reset更新local branch和stage,不更新workspace;
- checkout更新stage和workspace,不修改local branch
Git推广注意事项
- Git推广中的最大的问题往往是最简单的问题,比如软件安装、兼容。所以最好能提供工具来统一环境,包括操作系统、基础软件、Git版本、Git配置等;
- 提前准备好各系统的安装包、安装说明,方便所有人访问查阅;
- 制定Git使用规范,通过工具,在环境配置、分支管理、提交日志、提交策略做好统一约束;
- 采用适合任务特点和团队的Git模型,不要盲目仿照。
-EOF-
团队Git工作流总结的更多相关文章
- 开发环境之git:团队协作git工作流与常用命令
此篇文章只是一篇傻瓜式的,记录工作中比较规范且常见的一个git工作流需要用到的命令,让你可以快速的开始工作.而不是一些长篇大论的理论知识,如果你有用过sourcetree或者其它图形化工具,结合你正在 ...
- Git工作流总结
引用自:https://github.com/xirong/my-git/blob/master/git-workflow-tutorial.md 说明: 个人在学习Git工作流的过程中,从原有的 S ...
- 深入理解学习Git工作流
http://blog.csdn.net/hongchangfirst/article/list/3 //可以看看 http://blog.csdn.net/hongchangfirst/articl ...
- [转]深入理解学习GIT工作流
深入理解学习Git工作流 字数13437 阅读2761 评论3 喜欢70 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...
- 深入理解学习Git工作流(转)
个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心中的困惑迎刃而解,于是我将这部分资料进行整理放到了github上,欢迎st ...
- Git工作流:中心工作流(翻译)
使用Git作为版本控制器,有众多可能的工作流(Workflow),这使得我们这些新鸟不知道在实际工作中不知道该选择哪种工作流.这里我们对最常见的Git工作流做一个对比,为企业团队提供一个参考. 正如你 ...
- git 工作流介绍
GIT Git工作流你可以理解为工作中团队成员遵守的一种代码管理方案,在Git中有以下几种工作流方案作为方案指导: 集中式工作流 功能开发工作流 Gitflow工作流 Forking工作流 下面针对性 ...
- 【学习总结】Git学习-GIT工作流-千峰教育(来自B站)
Git工作流指南 - av32575602 文档资料 目录: 1-什么是版本控制系统 2-工作流简介 3-集中式工作流 4-功能分支工作流 5-GitFlow工作流 小记: 初看差点放弃了,不过后面还 ...
- 四种常见 Git 工作流比较
BY 童仲毅(geeeeeeeeek@github) 这是一篇在原文(BY atlassian)基础上演绎的译文.除非另行注明,页面上所有内容采用知识共享-署名(CC BY 2.5 AU)协议共享. ...
随机推荐
- 面试题目——《CC150》栈与队列
面试题3.1:描述如何只用一个数组来实现三个栈. 方法1:固定分割 方法2:弹性分割(较难) package cc150; public class ArrayStack { public stati ...
- Linux文件查找命令 find 详解
关于find命令 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权 ...
- (转载)PHPCMS V9专题路径多了一个斜杠的解决办法
PHPCMSV9的专题,在设置生成静态并且网站的静态设置成生成在根目录的时候,专题路径的URL中会多出一个斜杠,如:http://www.2cto.com//special/ddos/ ,我只能说这是 ...
- DAY5 python内置函数+验证码实例
内置函数 用验证码作为实例 字符串和字节的转换 字符串到字节 字节到字符串
- QuickSort 快速排序 基于伪代码实现
本文原创,转载请注明地址 http://www.cnblogs.com/baokang/p/4737492.html 伪代码 quicksort(A, lo, hi) if lo < hi p ...
- dp 走格子问题
问题: 一个5x8的格子,想从左下角走到右上角,求最短路径,共有多少种走法. 思路: 因为是求最短路径,所以,只会往右往上走. 我们可以把棋盘的左下角看做二维坐标的原点(0,0),把棋盘的右上角看做二 ...
- 拖拽对DOM的影响
前一段时间公司要对上传列表中多文本输入框添加富文本编辑功能,所以最初的想法是引入富文本编辑器插件,对每个多文本输入框实例化一次.但是上传列表还有一个可以拖拽排序的功能,在初次实例化以后,再拖拽元素就会 ...
- WebStrom快捷键
WebStorm 是 JetBrains 推出的一款商业的 JavaScript 开发工具 任何一个编辑器都需要保存(ctrl + s),这是所有win平台上编辑类软件的特点,但是webstorm编辑 ...
- CSS3 外发光 渐变色
渐变色--线性渐变 linear-gradient #bg { width: 100%; background: -webkit-linear-gradient(#9f1c65, #d89068,#7 ...
- Centos7 修改mysql指定用户的密码
1.登陆mysql或者mariadb(两种任选其一) [root@localhost ~]# mysql -u root [root@localhost ~]# mysql -uroot -p 2.切 ...