git和svn 最大的差异在于git是分布式的管理方式而svn是集中式的管理方式。

集中式

集中式代码管理的核心是服务器,所有开发者在开始coding之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。

基于集中式的代码管理,完全依赖于代码服务器,如果是离线的情况下服务器不能连接,那本地的所有修改将无法提交,当然也无法还原到上个版本、无法对比。这对于快速迭代将是致命的!

分布式

分布式和集中式最大的区别就是:每个开发者机器都是一个独立的代码服务器。这样即使无法连接到服务器时,本地同样可以做合并、还原、对别、提交等操作。

具体协作流程

  1. 执行 git clone 从代码仓库克隆到本地

  2. 在本地创建分支,进行coding

    git checkout -b tianpo

  3. 在本地创建的分支上提交代码

    git add . git commit -m 'add files'

  4. 每天把本地分支push到远程仓库同名分支上,每个人都有自己的远程分支;

    git push 仓库地址 master:tianpo

  5. 代码维护人员每天下班前把各个项目成员的分支fetch到本地,然后依次合并到devlop分支,任何一个成员的分支出现问题,及时当面解决冲突。所有分支合并完成,把整合好的devlop分支push到远程仓库devlop分支。

    git checkout -b tianpo

    git fetch orign tianpo:tianpo

    git checkout devlop

    git merge tianpo

  6. 项目组员每天开始coding之前fetch下远程仓库中devlop分支并合并到自己的分支上。

在整个开发周期按照上述步骤迭代,实现小团队之间的协作。

参考:http://www.cnblogs.com/ShaYeBlog/p/5575852.html

最新文章

  1. hdu 2066
  2. Ubuntu14.04 切换root账户su root失败解决办法
  3. struts2拦截器配置;拦截器栈;配置默认拦截器;拦截方法的拦截器MethodFilterInterceptor;完成登录验证
  4. Windows store app Settings 的 应用 ( viewmodel + windows.storage)
  5. CI框架篇之模型篇--初识(1)
  6. QTP自动化测试权威指南 连载(一)
  7. jQuery 删除元素
  8. Android SDK Manager 无法更新SDK
  9. extjs_11_mvc模式
  10. 去掉谷歌input记住账号或密码时默认出现的黄色背景
  11. 读Zepto源码之IOS3模块
  12. Android缩放动画
  13. Pivotal开源基于PostgreSQL的数据库Greenplum
  14. java web项目部署到tomcat 8.5 此驱动程序不支持 Java Runtime Environment (JRE) 1.8 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库
  15. 性能调优之Mapping
  16. 关于nexus的学习
  17. javascript 时间
  18. 如何增加黑客通过ssh入侵的难度--保护ssh的三把锁
  19. java中的元数据
  20. 可怕的SCN!(转载)

热门文章

  1. Oracle数据库实现获取前几条数据的方法
  2. ECShop后台管理菜单修改
  3. Centos 7 联想Y430P无线网卡驱动安装 过程参考
  4. JAVA Eclipse如何导出APK程序
  5. java Map根据value排序
  6. mui 本地打包
  7. Linux shell快捷键
  8. Oracle 创建表空间、临时表空间、创建用户并指定表空间、授权,删除用户及表空间
  9. asp.net core mvc视频A:笔记2-1.控制器定义
  10. CSS 选择器 :last-child与:last-of-type的区别