小团队Git协作流程
git和svn 最大的差异在于git是分布式的管理方式而svn是集中式的管理方式。
集中式
集中式代码管理的核心是服务器,所有开发者在开始coding之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。
基于集中式的代码管理,完全依赖于代码服务器,如果是离线的情况下服务器不能连接,那本地的所有修改将无法提交,当然也无法还原到上个版本、无法对比。这对于快速迭代将是致命的!
分布式
分布式和集中式最大的区别就是:每个开发者机器都是一个独立的代码服务器。这样即使无法连接到服务器时,本地同样可以做合并、还原、对别、提交等操作。
具体协作流程
执行 git clone 从代码仓库克隆到本地
在本地创建分支,进行coding
git checkout -b tianpo
在本地创建的分支上提交代码
git add . git commit -m 'add files'
每天把本地分支push到远程仓库同名分支上,每个人都有自己的远程分支;
git push 仓库地址 master:tianpo
代码维护人员每天下班前把各个项目成员的分支fetch到本地,然后依次合并到devlop分支,任何一个成员的分支出现问题,及时当面解决冲突。所有分支合并完成,把整合好的devlop分支push到远程仓库devlop分支。
git checkout -b tianpo
git fetch orign tianpo:tianpo
git checkout devlop
git merge tianpo
项目组员每天开始coding之前fetch下远程仓库中devlop分支并合并到自己的分支上。
在整个开发周期按照上述步骤迭代,实现小团队之间的协作。
参考:http://www.cnblogs.com/ShaYeBlog/p/5575852.html
最新文章
- hdu 2066
- Ubuntu14.04 切换root账户su root失败解决办法
- struts2拦截器配置;拦截器栈;配置默认拦截器;拦截方法的拦截器MethodFilterInterceptor;完成登录验证
- Windows store app Settings 的 应用 ( viewmodel + windows.storage)
- CI框架篇之模型篇--初识(1)
- QTP自动化测试权威指南 连载(一)
- jQuery 删除元素
- Android SDK Manager 无法更新SDK
- extjs_11_mvc模式
- 去掉谷歌input记住账号或密码时默认出现的黄色背景
- 读Zepto源码之IOS3模块
- Android缩放动画
- Pivotal开源基于PostgreSQL的数据库Greenplum
- java web项目部署到tomcat 8.5 此驱动程序不支持 Java Runtime Environment (JRE) 1.8 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库
- 性能调优之Mapping
- 关于nexus的学习
- javascript 时间
- 如何增加黑客通过ssh入侵的难度--保护ssh的三把锁
- java中的元数据
- 可怕的SCN!(转载)