Git操作手册密级:保密秘密机密绝密文档编号:拟制者刘文2013-4-26审核董建宇、谢东批准谢东北京用友集团UAP中心2013年4月目录1.相关安装文件及资料获取............................................................................................12.安装MSYSGIT............................................................................................................23.安装TORTOISEGIT...................................................................................................34.SSH公钥认证...............................................................................................................54.1创建自己的公钥/私钥对。....................................................................................54.2公钥ID_RSA.PUB配置到服务器。.........................................................................65.开发过程中使用的GIT分支模型................................................................................66.开发过程中常用操作简介(使用TORTOISEGIT).................................................76.1初化GIT项目.........................................................................................................76.1.1基于空库初始化git项目...............................................................................76.1.2基于已有版本库初始化git项目..................................................................106.1.3创建开发分支developbranch..................................................................126.2基于DEVELOP分支进行开发...............................................................................136.3基于特性分支(FEATUREBRANCH)进行开发....................................................206.4基于RELEASE分支进行补丁修复........................................................................226.5建立发布分支.......................................................................................................236.6维护阶段(补丁分支)............................................................................................247.ECLIPSE中使用GIT................................................................................................248.常见问题解决..............................................................................................................348.1安装TORTOISEGIT时,CHOSSESSHCLIENT选择了第一项。...........................348.2其他问题..............................................................................................................351.相关安装文件及资料获取编制本文件为了统一UAP研发中心的代码管理规则及工具;统一管访问(最好使用谷歌浏览器访问)。使用下面的用户/密码登录:图1-1登录后,即可下载对应的安装文件:msysGit:Git-1.8.1.2-preview20130201.exeTortoiseGit:TortoiseGit-1.8.2.0-64bit.msiTortoiseGit-1.8.2.0-32bit.msiTortoiseGit中文语言包:TortoiseGit-LanguagePack-1.8.2.0-64bit-zh_CN.msiTortoiseGit-LanguagePack-1.8.2.0-32bit-zh_CN.msieclipse插件:org.eclipse.egit.repository-2.3.1.201302201838-r.zip(适用于3.7.*以上版本的eclipse,最新版eclipse(Juno)中已包含此插件,无需安装)。参考文档:《Git_Community_Book_中文版》图1-22.安装MSysGit运行Git-1.8.1.2-preview20130201.exe,选择Next,默认安装即可。图2-1图2-2安装完成后,打开GitBash(安装MSysGit后,会生成桌面快捷方式)。配置全局用户名和邮箱,执行下面两行命令。gitconfig--globaluser.nameyournamegitconfig--globaluser.emailyouremail(注意:参数名与参数值之间不要使用“=”,空格即可。)可通过下面两行命令查看配置gitconfiguser.namegitconfiguser.email3.安装TortoiseGit(从TortoiseGit1.7.15.2版本起,需要系统WindowsInstaller版本为4.5。)已提供WindowsServer2003的补丁:32位:WindowsServer2003-KB942288-v4-x86.rar64位:WindowsServer2003-KB942288-v4-x64.rar其他版本系统可从下面网址下载安装WindowsInstaller4.5。=8483运行TortoiseGit-1.8.2.0-32bit.msi或TortoiseGit-1.8.2.0-64bit.msi注意:选择SSH客户端时,要选第二项,OpenSSH,GitdefaultSSHClient,其他默认安装。图3-1安装完成后,右键-TortoiseGit-Settings,查看设置。TortoiseGit会自动检测到MSysGit的安装路径。图3-2另外可选择对应的语言包,安装简体中文。图3-3选择SSH客户端错误解决。4.SSH公钥认证用户通过SSH公钥认证,建立与服务器端的通信。4.1创建自己的公钥/私钥对。打开GitBash(安装MSysGit后,会生成桌面快捷方式)。输入:ssh-keygen-trsa其它输入回车略过。会在用户主目录(C:\DocumentsandSettings\user_name)下的.ssh目录下生成私钥id_rsa及公钥id_rsa.pub两个文件。(注意:不要修改文件名和存放路径)图4-14.2公钥id_rsa.pub配置到服务器。通过谷歌浏览器访问服务器网址(以为例,具体要使用对应服务器的网址)。输入自己的用户名/密码登录(邮箱登录,默认密码111111)。进入右上角的MyProfile界面。图4-2进入SSHKeys界面,点击Addnew,并点击save保存。图4-3公钥会出现在SSHKeys的列表中。图4-4到此,通过SSH公钥认证,建立与服务器端的通信完成。5.开发过程中使用的Git分支模型Git鼓励通过分支进行管理,以方便日常开发。最主要的两个分支为master与develop分支,分别代表发布/开发中两个状态。develop是每日构建的来源,当到了稳定的状态就可以合并到master上,也就是发布了新版本。此外,辅助性分支有特性分支(featurebranch)、待发布分支(releasebranch)及补丁分支(hotfixbranch)。特性分支由各开发创建,主要用来实现新需求,从develop分支上分出,待开发完成后合并到develop分支上。待发布分支在开发到一定的阶段进入固化状态时创建,从develop分支分出,只做小的bug修复,达到理想状态后,把release分支合并到master分支,也就是发版了,且可以随时合并到develop分支上。补丁分支一般从master分支分出,主要用来修改已发布版本的bug。相当于累积的通版补丁,且必须合并回develop分支上。各分支详细介绍以及在开发过程中使用到的分支模型可查看《配置管理规范—基于Git代码管理.doc》,了解具体的信息。6.开发过程中常用操作简介(使用TortoiseGit)6.1初化git项目开发经理明确产品命名,产品内项目的分布,代码库的访问人员及各项目的人员访问权限后,提供相关信息及各用户公钥给配置管理员,提出建库申请。配置管理员根据开发经理的申请,在代码服务器上创建git项目,配置访问权限,并将对应的SSH链接反馈给开发经理,如:git@20.10.129.77:liuwend/test_demo.git(之后均以此为例)。git项目的初始化,可以从某个前期发布的金盘版本建立或从零开始建立初始代码库。6.1.1基于空库初始化git项目适用于对全新产品的开发,由零开始建立初始代码库。首先通过Clone操作将新创建的git项目,由服务器克隆到本地。Clone操作(右键-GitClone):填入相关信息(注意本地工作目录必须为空目录),如下图所示:图6-1-1选择OK,完成clone操作。将初始项目代码导入到本机工作目录内,通过Commit操作将代码提交到本地的git仓库,然后通过Push操作将代码推送到服务器,作为初始的代码基线。(注意只有提交到本地git仓库的代码才会被推送到服务器)Commit操作(右键-GitCommit”***”…):(***为当前分支名)在文件选择区选择要提交的文件,并填写提交描述信息(信息不能为空)。图6-1-2选择OK,完