Gitblit搭建及Git协作开发流程参考.docx
《Gitblit搭建及Git协作开发流程参考.docx》由会员分享,可在线阅读,更多相关《Gitblit搭建及Git协作开发流程参考.docx(39页珍藏版)》请在冰点文库上搜索。
Gitblit搭建及Git协作开发流程参考
Gitblit搭建及Git协作开发流程
版本:
v1.0(2015年3月20日)
作者:
南瓜剪子
1.概述
目前主流的是git作为自己代码管理,但是采用github需要付费才能够使用,如果不付费,代码需要公开。
创业团队及小型开发团队都有必要搭建自己的代码服务器,自己摸索需要一定的时间,会赶不及项目进度。
在此作者把自己的经验作为文档写下来,方便互联网各位创业者参考,能很快的搭建自己所需要的代码服务器。
同时作者也把最基本的开发流程,代码提交,代码上传,代码merge等流程用命令写出,方便大家参考。
作者自己的团队开发以Maven+Java为主,使用eclipse作为开发工具,相关部分在此文档中都有详细的描述。
文档中使用的工具版本如下
jdk1.8.0_73
Gitblit1.7.1
EclipseMARS.1
PortableGit2.7.1
Apache-maven-3.3.9
注意:
由于互联网技术日新月异,以后工具如有更新,流程也许会变化,所以本文档中流程只作为参考。
并请准备一台Windows机器,并且在你的局域网内,开发者能够访问
注意:
如果你只是一个开发者,不需要关心Gitblit代码服务器搭建,请跳过下面章节
第3章Gitblit服务器搭建
第4章配置Gitblit用户
第5章创建第一个Gitblit版本库
第7章项目管理者上传项目最初始代码
这几张是有关Gitblit部分,主要是代码管理员需要学习服务器管理。
开发人员请从后面相关部分学习,后面类容依然精彩,会告诉你怎么下载代码,构建工程,还有上传代码,更新代码。
2.安装JDK
安装JDK这个过程我就不再过多描述
访问/java/javase/downloads
下载最新JDK,并按操作安装
安装完毕后最好设置环境变量JAVA_HOME及PATH
新建JAVA_HOME=C:
\ProgramFiles\Java\jdk1.8.0_73(你的JDK安装目录,请核对你自己目录及版本)
并把(;%JAVA_HOME%\bin;)加入到PATH
大致流程如下图所示
3.Gitblit服务器搭建
访问地址:
下载最新的Gitblitwindows版本,由于小型团队一般以windows机器为主,在这里只介绍windows版本的搭建
Step1)下载gitblit-1.7.1.zip
Step2)解压到D:
\open_source\gitblit-1.7.1
Step3)创建一个目录,用来存放代码库:
D:
/GitRepositoies
Step4)修改data目录下的gitblit.properties
(D:
\open_source\gitblit-1.7.1\data\gitblit.properties)
加入以下红色内容
#
#GITBLIT.PROPERTIES
#
#Defineyourcustomsettingsinthisfileand/orincludesettingsdefinedin
#otherpropertiesfiles.
#
#IncludeGitblit's'defaults.properties'withinyourconfiguration.
#
#NOTE:
Gitblitwillnotautomaticallyreload"included"properties.Gitblit
#onlywatchesthe'gitblit.properties'fileformodifications.
#
#Pathsmayberelativetothe${baseFolder}ortheymaybeabsolute.
#
#COMMA-DELIMITED
#SINCE1.7.0
include=defaults.properties
#
#Defineyouroverridesorcustomsettingsbelow
#
#Basefolderforrepositories.
#Thisfoldermaycontainbareandnon-barerepositoriesbutGitblitwillonly
#allowyoutopushtobarerepositories.
#UseforwardslashesevenonWindows!
!
#e.g.c:
/gitrepos
#
#SINCE0.5.0
#RESTARTREQUIRED
#BASEFOLDER
git.repositoriesFolder=D:
/GitRepositoies
#Standardhttpporttoserve.<=0disablesthisconnector.
#OnUnix/Linuxsystems,ports<1024requirerootpermissions.
#Recommendedvalue:
80or8080
#
#SINCE0.5.0
#RESTARTREQUIRED
server.httpPort=1000
#Secure/SSLhttpsporttoserve.<=0disablesthisconnector.
#OnUnix/Linuxsystems,ports<1024requirerootpermissions.
#Recommendedvalue:
443or8443
#
#SINCE0.5.0
#RESTARTREQUIRED
server.httpsPort=1001
#SpecifytheinterfaceforJettytobindthestandardconnector.
#Youmayspecifyaniporanemptyvaluetobindtoallinterfaces.
#SpecifyinglocalhostwillresultinGitblitONLYlisteningtorequeststo
#localhost.
#
#SINCE0.5.0
#RESTARTREQUIRED
server.httpBindInterface=
#SpecifytheinterfaceforJettytobindthesecureconnector.
#Youmayspecifyaniporanemptyvaluetobindtoallinterfaces.
#SpecifyinglocalhostwillresultinGitblitONLYlisteningtorequeststo
#localhost.
#
#SINCE0.5.0
#RESTARTREQUIRED
server.httpsBindInterface=
注意:
红色部分属性都是从同目录下defaults.properties拷贝过来,只是采用了我们自己的配置,其中为了安全及便利,我没有没有使用端口80及443,用1000及1001代替(因为我团队的机器80端口用作其他用途了)。
并把仓库设置为Step3中的目录。
Step5)修改D:
\open_source\gitblit-1.7.1\installService.cmd下面红色部分
@REMInstallGitblitasaWindowsservice.
@REMgitblitw.exe(prunmgr.exe)isaGUIapplicationformonitoring
@REMandconfiguringtheGitblitprocrunservice.
@REM
@REMBydefaultthistoollaunchestheservicepropertiesdialog
@REMbutitalsohassomeotherveryusefulfunctionality.
@REM
@REM/procrun.html
@REMarch=x86,amd64,oria32
SETARCH=x86
由于我的机器是x86-32位的,所以我改为x86,请对照你机器的架构选择
如果你的机器是64位,请选择amd64
Step6)安装windows服务
用管理员权限打开CMD命令提示符,如下图所示
然后再命令行中输入一下命令
C:
\Windows\system32>d:
D:
\>cdD:
\open_source\gitblit-1.7.1
D:
\open_source\gitblit-1.7.1>installService
Step7)检查windows服务
开始菜单“运行”中,输入services.msc
并检查gitblit服务是否成功安装,由于开发团队每天都在用,确保为自动模式,每次windows启动都自动启动
右键点击gitblit,并把服务启动起来
注意:
如果要删除服务,请直接运行D:
\open_source\gitblit-1.7.1下面的uninstallService.cmd
Step8)有可能服务器起来后,局域网其他机器无法访问,只能在本机浏览器中打开,这是由于防火墙的设置,你必须人工设置防火强规则。
打开“控制面板”->“管理工具”->“高级安全Windows防火墙”
由于我演示用的机器是windows10,也许名字会不对,请点击“管理工具”里面的有关“防火墙”选项就行
如下图所示:
然后“新建规则”,选择“程序”
然后选择程序为D:
\open_source\gitblit-1.7.1\x86\gitblit.exe
注意这里”x86”是你在step5)中选择的架构
然后点下一步
然后点下一步:
点下一步:
然后会看到有下面一条记录
Step8)然后可以在IE中输入.3:
1000/
其中IP地址换成你服务器的地址,注意,这里我们使用端口为1000,在前面gitblit.properties里面配置
Gitblit安装完毕
4.配置Gitblit用户
用IE登陆系统:
.3:
1000/
Step1)用管理员账号登录
确实用户名/密码:
admin/admin
Step2)修改管理员账户密码
Step3)添加用户
为你团队中的开发人员创建用户,只有授权用户才能进行相关操作
然后点击添加用户
然后填入成员基本信息,点击保存
然后把用户名及初始密码发送给团队成员,让他们登陆.3:
1000/进去修改密码
Step4)创建项目组
也许你的创业团队有好几个项目,每个项目都由不同的人开发,你可以为每个项目创建个团队。
然后点击右上交“添加团队”并填写以下信息:
例如我有一个项目名称叫“阿尔法猫”
然后选择团队成员,当前只有我一个,也可以选择多个,如下图
其他有关权限部分可以先不用关心,熟悉后请自行阅读中文档
5.创建第一个Gitblit版本库:
阿尔法猫
Step1)使用系统管理员账号登陆,并点击“创建版本库”
Step2)然后按要求填入以下信息
可以给项目分组,那么在名称哪里填写:
ai/alpha-mao
表示项目alpha-mao属于ai分组,
对于项目名称我们一般采用全小写,中间用分隔符“-”分离单词
注意,为了保证代码的安全,我们选择第四个:
限制查看,克隆及推送,只有加入项目组的人才能够查看项目。
不像github,匿名用户可以查看克隆开源代码,一般创业团队的代码都是保密。
其他信息可以不用填写,下面会告诉你怎么推送新代码到服务器。
然后点击下面“创建”,
Step3)设置项目权限
当项目创建后,点击版本库又上角的“编辑”按钮
然后设置团队及用户权限
注意:
请一定要点击“添加”按钮
添加成功后,点击保存按钮
注意,团队权限只有能够查看克隆推送的权限,但是没有创建,修改分支(branch)的权限
我们这里设置了一个项目管理员:
他除了有查看克隆推送的权限,还有创建分支的权限。
在后面我们会看到lan.zhou这个用户能够直接在服务器上创建dev分支。
到此我们创建了一个新的版本库,下面等待lan.zhou这个用户上传最初始的代码,然后团队里面的别人就可以克隆使用。
6.下载最新的git工具并安装
访问https:
//git-
下载最新的git工具
一般“32-bitGitforWindowsPortable”就行,一般国外服务器比较难下载,可以找国内镜像。
安装步骤:
step1)解压PortableGit-2.7.0-32-bit.7z.exe
step2)按下图把bin目录(;D:
\ProgramFiles\PortableGit-2.7.0-32-bit\bin)加在系统环境变量PATH下
step3)打开一个cmd(命令提示符)
运行下列命令
gitconfig--globaluser.email""
gitconfig--globaluser.name"lan.zhou"
注意:
请把红色的用户名换成你自己的登陆名(详见第一章)
然后用下列命令检查是否配置成功:
gitconfig--list
core.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/ssl/certs/ca-bundle.crt
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=lan.zhou
user.email=
core.editor='C:
/ProgramFiles/Notepad++/notepad++.exe'-multiInst-notabbar-nosession-noPlugin
运行完上面两个config命令,在你的windows用户目录下(C:
\Users\登陆用户名)就会生成一个文件.gitconfig
里面包含下面内容:
[user]
email=
name=lan.zhou
7.项目管理者上传项目最初始代码
项目管理者请准备最初的一个项目,里面包含一些基本代码
请参考下面我准备的例子
下面进行本地的准备
Step1)把上面文件点击右键“保存到文件”,然后解压到文件夹,比如
D:
\git\alpha-mao
Step2)打开一个windows命令提示符,运行下列命令
C:
\Users\apple>d:
D:
\>cdD:
\git\alpha-mao
进入项目目录
Step3)进行git初始化
D:
\git\alpha-mao>gitinit
初始化空的Git版本库于E:
/apple/Documents/git/alpha-mao/.git/
Step4)把文件加入版本
D:
\git\alpha-mao>gitadd.gitignore
D:
\git\alpha-mao>gitaddLICENSE
D:
\git\alpha-mao>gitaddREADME.md
D:
\git\alpha-mao>gitaddpom.xml
D:
\git\alpha-mao>gitaddsrc/
Step5)第一次commit
D:
\git\alpha-mao>gitcommit-m"firstcommit"
到此,项目在你本地已经准备好了,但是还没有上传到建立好的Gitblit服务器。
下面我们上传代码
Step1)查看你的上传地址,
用项目管理者(前面建立的用户:
lan.zhou,并不是系统管理员admin)登陆
.3:
1000
Step2)查看刚才建立的新版本库
点击图中红圈标出的“复制到剪贴板”
这个就是用户lan.zhou对应的git服务器地址
Step3)上传代码
在刚才的命令行中运行
D:
\git\alpha-mao>gitremoteaddoriginssh:
//:
29418/ai/alpha-mao.git
D:
\git\alpha-mao>gitpush-uoriginmaster
Theauthenticityofhost'[192.168.1.3]:
29418([192.168.1.3]:
29418)'can'tbeestablished.
RSAkeyfingerprintisSHA256:
yQE8FoZXgbMUR1ou9zl+CKLE9xqM1zwy09wU33A4CeM.
Areyousureyouwanttocontinueconnecting(yes/no)?
yes
Warning:
Permanentlyadded'[192.168.1.3]:
29418'(RSA)tothelistofknownhosts.
Passwordauthentication
Password:
Countingobjects:
19,done.
Deltacompressionusingupto4threads.
Compressingobjects:
100%(9/9),done.
Writingobjects:
100%(19/19),5.60KiB|0bytes/s,done.
Total19(delta0),reused0(delta0)
remote:
Updatingreferences:
100%(1/1)
Tossh:
//:
29418/ai/alpha-mao.git
*[newbranch]master->master
分支master设置为跟踪来自origin的远程分支master。
在上图红色的部分先输入:
yes,然后再输入你在Gitblit上设置的密码
到此,代码已经上传到服务器
Step4)登陆到Gitblit可以看到相关代码
下面为了项目开发,我们一般务必要做两个事请
Step1)创建初始tag,并上传到服务器
D:
\git\alpha-mao>gittag-av0.1-m"initialversion"
D:
\git\alpha-mao>gitpushoriginv0.1
然后你在.3:
1000上能够看到v0.1这个tag
Step2)创建服务器的dev分支
一般master分支为稳定代码,小型团队平常开发一般在另一个分子dev上进行
我们必须在远端Gitblit服务器上创建dev分支。
由于Gitblit权限控制,只有授权的人才能创建分子,详见第4章配置Gitblit用户。
在这里lan.zhou这个用户拥有这个权限
运行下列命令在远端Gitblit服务器创建dev分支:
D:
\git\alpha-mao>gitpushoriginmaster:
dev
Step3)用下列命令查看分支
查看本地分支:
D:
\git\alpha-mao>gitbranch
*master
查看远端分支:
D:
\git\alpha-mao>gitbranch-r
origin/dev
origin/master
Git环境搭建完毕,下面开始进入第二部分,开发部分
8.本地开发环境:
eclipse
请到地址:
/
下载最新版本的:
EclipseIDEforJavaEEDevelopers
然后直接解压缩,右键点击里面的“eclipse.exe”在桌面创建快捷方式,
以后在桌面直接点击就可运行。
在本文中我们使用MARS.1版本
9.配置eclipse的git功能
步骤
Step1)点击eclipse下列菜单
Step2)进入git配置选项卡
Step3)在上图中的location,点击Open,然后选中你的git配置文件:
C:
\Users\apple\.gitconfig
注意:
其中apple是你的机器用户名
Step4),检查你的用户名与邮箱是否正确
10.Eclipse中配置maven
Step1)下载maven
比如:
apache-maven-3.3.9-bin.tar.gz
Step2)同样解压后直接使用
同时把bin目录(;D:
\ProgramFiles\apache-maven-3.3.9\bin)加入PATH目录
Step3)设置eclipse
然后把刚才解压的目录加入
Step4)选择配置文件,一定要选择你解压的maven目录下
D:
\ProgramFiles\apache-maven-3.3.3\conf\settings.xml
Step5)更新配置文件
在文件D:
\ProgramFiles\apache-maven-3.3.3\conf\settings.xml
中加入下列红色的语句
--mirror
|Specifiesarepositorymirrorsitetouseinsteadofagivenrepository.Therepositorythat
|thismirrorserveshasanIDthatmatchesthemirrorOfelementofthismirror.IDsareused
|forinheritanceanddirectlookuppurposes,andmustbeuniqueacrossthesetofmirrors.
|
mirrorId
repositoryId
HumanReadableNameforthisMirror.
/path
-->
CN
OSChinaCentral
/groups/public/
central