这篇博文其实算是记录自己的开发团体关于代码管理方式的一个变迁,分为两部分,一是前一篇基于SVN的流程(http://blog.csdn.net/xiangzi1113/article/details/21392111),二是这篇基于GIT的流程。
博客内容并不精彩,纯粹做个记录,当新成员的学习材料。
======================================================
前一篇说开发了一个服务器上的简易svn管理系统,但这个系统最大的功效只是解放了服务器管理员,把svn一些操作权下放到所有开发人员手上,但无法解决因trunk代码混乱引发的迭代版本管理混乱问题。采用分支开发是一个办法,但svn的分支管理存在一些众所周知的不灵活、不智能,里面的坑谁用谁知道!既然要改,那就追随潮流一步到位,自己私下已经用了1年多的git,也用git配合svn的方式管理一部分代码,于是趁这个机会边开发边学习git,经过几天奋战,于是自命为easygit的系统诞生了,同时在内网搭建了gitblit系统做为“中心”服务器。
使用git的同学可以把svn工具删了,最好能把自己大脑里关于svn的知识格式化,不留一点痕迹,因为用svn的思维会干扰对git的理解。
个人觉得这篇文章写得不错 http://wenku.baidu.com/view/bf1e526e011ca300a6c39036.html 初接触者推荐学习。
======================================================
以下是常规的开发流程图及步骤:
1、无论是新功能,还是修复bug,都要新建一个分支进行,分支可以使用中文命名,以能说明白分支的意思为标准。
2、在你的分支上进行开发,在开发过程中经常将master上的代码merge到你的分支上,这样可以以减少合并出现冲突的几率。
3、开发完成后将master上的代码merge到你的分支上,目的是让你的分支与最新的稳定代码合并。打开easygit系统,用工号登录,选择站点。
3、选择站点后会列出该站点下所有的分支,可以选择切换分支,并可以在当前分支下选择需要reset的版本号。
4、选择一个版本号后,点“提交”,此时服务器上的代码会切换到你选择的分支下的这个选中版本。
5、测试过程如有修改,将修改提交到分支上,然后在easygit上同步一次。
6、测试完毕确认OK后你的分支将在适合的时候合并到master。
7、合并回master后,你的分支会被删除。
===============================================================
几点注意点:
1、因为开发人员使用的是可视化的tortoiseGIT,这个工具默认情况下不会跟随删除远程分支,即远程分支删除了,你本地还会显示存在。解决办法:在“菜单”->“pull”->"Manage Remotes"->"点击remote下的origin"->"勾选Prune"
2、服务器上reset是以"git reset --hard"方式进行的,这点有兴趣的同学可以了解下