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

转载于:https://www.cnblogs.com/tianboblog/p/7469730.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐