1、 安装
双击SourceTreeSetup_1.6.5.exe进行安装,安装过程中如果下载GIT非常缓慢,可以停止下载,无git安装sourcetree,装好后再配置git。
2、 安装和配置git(如果第一步已经安装了git请无视)
下载Git-1.9.4-preview20140929.exe,双击进行安装。安装完成后,打开sourcetree->工具->选项->GIT,选择使用系统安装的git,将其设置为安装好的Git-1.9.4。
3、 文件->打开,选择d:\workspace\gitdemo,并点击确定建立书签。SourceTree界面的左边可以看到gitdemo的书签。
4、 点击SourceTree右上角 设置 -》编辑配置文件在 [CORE]节中 加入 autocrlf = false
GIT使用规范
Git是新一代分布式版本控制系统,设计思路和使用方法与传统的cvs\svn有很大的区别,建议大家仔细阅读以下使用规范,确保团队协作顺利进行。
一、分支概述:
在公司的产品开发中,存在以下几个git分支,请大家务必分辨清楚,以免造成混乱:
master分支:主干分支,仅仅存放稳定的产品代码。建议除管理员外的其他人不要下载该分支,以免扰乱主干代码的稳定性。
develop分支:开发分支,所有人在初始化代码时候都下载该分支,并在这个分支上开一个issue分支进行开发,最后所有开发过程中的代码都必须合并提交到该分支。
release分支:发布分支,在develop分支测试稳定后,发布管理员将代码branch到release分支,并打包发布。后续所有发布版本存在的问题都在该分支上进行修改。
issue分支:特性分支,真正进行代码开发的分支,所有的开发人员将develop分支下载到本地后,在开发某个特性的时候都需要branch一个issue分支,并在该分支上进行开发,开发完成后,合并到develop分支上。
本地和远程仓库:
Git有一个远程的仓库(所有开发人员共享)和一个本地的仓库(开发人员私有)。
开发人员将分支从远程checkout下来后就存放在本地仓库中,本地仓库进修改代码后commit到本地仓库,再push到远程仓库。所有远程仓库的改动都可以pull到本地仓库。
origin->develop表示develop在远程仓库中的分支。
develop表示develop在本地仓库中的分支。
二、利用GIT分支进行开发:
1、 从Git中下载源码:
用Eclipse->Import下载版本即可(参考开发环境设置文档),注意:在下载的时候请选择下载develop分支。
2、 创建issue分支,并在其上进行开发:
新开始一个开发任务的时候,比如开始JIRA任务issue452,则在SourceTree中右击BRANCH,选择New Branch。
输入名称,yjf/issue452,创建分支。
3、 在yjf/issue452分支下面工作。
4、 完成开发任务后,点击sourcetree中的工作副本:右边下部是经过修改,但是未暂存的文件(Unstaged files),右边上部是已暂存文件。将所有未暂存文件前面打钩,文件则会移动到右边上部区域中。
5、 点击按钮,输入备注文字(务必要输入),提交 yjf/issue452分支。(注意:commit只会提交到本地的git仓库。)
6、 切换到 develop分支(双击树上的develop即可)
7、 右击yjf/issue452分支,点击“合并yjf/issue452至当前分支”。
8、 开始新的一个issue(参考步骤2)
9、 完成多个issue后,和远程进行同步。切换到develop分支,合并所有代码。先 下载远程的更新,然后再把本地提交的内容上去。
10、 如果还想修改原来的issue452的内容,则
a) 双击 issue452,将分支切换回452
b) 右击develop刚刚得到的更新,merge到issue452分支即可。
11、 如果一个issue确实已经开发完毕,可以右击yjf/issue452,将该分支进行删除。
三、发布分支管理:
1、 各小组成员都在自己的issue分支上进行开发,开发完成后合并到develop分支,并push到远程服务器。(注意:不要将本地的issue分支push到远程服务器)
2、 一个sprint周期结束后,大家都develop的代码进行集成,并进行测试。
3、 测试无误后,对该develop分支进行发布。
4、 发布管理员,从该develop分支branch一个release分支,假设起名weixt_v2.2.3,并切换到这个分支进行打包和发布。
5、 发布管理员将weixt_v2.2.3分支push到远程服务器。Git管理员将weixt_v2.2.3分支merge到master分支。
6、 其余人员继续在develop分支上进行开发。
7、 如果发布的版本发现bug,则修改bug的开发人员,check出weixt_v2.2.3发布分支,并在这个分支上进行修改,修改完成后,将weixt_v2.2.3分支的内容合并到develop分支上。
8、 发布管理员pull weixt_v2.2.3分支,重新打包发布。
四、一些注意事项:
1、本地开发配置文件,如:数据库连接文件、.project、.classpath和.settings目录下的文件不要提交commit,就保留在Unstaged files好了。
2、如果Pull的适合提示.classpath等文件有冲突,无法pull 的时候,那就先把.classpath等文件保存起来,然后在git中reset或者丢弃掉。然后pull下来后再手工替换回去。
注意:替换回去后,各开发人员务必要保证这几个文件都在Unstaged files区域,不能commit上去,这样就push的时候就不会提交到远程服务器了。
五、GIT使用哲学:
1、一个提交只做一件事情。
2、尽可能勤快的commit,不要等到一大堆文件修改后才commit。
3、尽量保持工作副本的清洁,每次切换分支时候,确保没有未暂存的文件。(本地开发配置文件除外)