私有gitlab使用手册_第1页
私有gitlab使用手册_第2页
私有gitlab使用手册_第3页
私有gitlab使用手册_第4页
私有gitlab使用手册_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

私有gitlabCESCM简易使用手册编号密等日期作者Mar.30,2016RoyHu版权声明Copyright2016?Copyright商标声明本书所提到之商标,皆属於原合法注册公司所有。TrademarksAllbrandnamesandproductnamesusedinthisbookaretrademarks,registeredtrademarks,ortradenameoftheirrespectiveholders.免责声明。LIMITATIONOFLIABILITY

修订记录目录第一章简介设备现况TORTOISEGIT先到下载gitforWindows适合的版本安装到下载适合的版本安装初始化版本库目录Commit提交提交时产生新分支提交的时机Stash储藏切换至某分支/取出某提交ATLASSIANSOURCETREE到下载浏览整个专案GITLABCE登入画面说明Groups专案群组TortoiseGitpush推送本地版本库至GitLabCE上的新专案於GitLabCE建立新专案Push推送本地端版本库至GitLabCE上的新专案查看已推送成功的专案TortoiseGitpull拉取专案至本地端.issue议题追踪FAQ图表目录图表目录找不到图表目录。表格目录表格1设备现况表1第一章简介git是由Linuxkernel作者LinusTorvalds於2005年04月时所开发的DVCS,起初是为了取代用以控管目前已高达千万行Linuxkernelsourcecode的商用SCM产品:BitKeeper。经过多年来的发展,已广泛应用於各大opensource专案并被许多公司整合入自家产品内,包含微软的开发工具VisualStudio或Google等。逐渐取代集中式VCS如:CVS、Subversion或MicrosoftSourceSafe等。git的世界观并非为传统VCS的Client-Server架构,git一切的操作皆围绕在local的repository(版本库)上。(事实上,git并没有所谓的Server端)。而所谓的Server其实只是提供远端存取版本库的地方,Server只需要提供可供git程式存取档案的协定即可,不论是:(如MicrosoftWindows的网路芳邻SMBUNC路径)、Internet标准的HTTP/HTTPS协定、SecureShell(SSH://)协定或(少用)git的设计哲学就是要让开发人员得以去中心化的方式使用操作SCM无需类似其他SCM系统还可能需要协调资源并安排系统工程师布署SCMServer。去中心化是git或者是其他知名DVCS的重要精神概念,也是为了因应管理分散式开发程式码所带来的挑战,所有的开发人员的电脑(甚至是多台Server)上都有一份完整的程式码,而不是只有自己所开发的那一部分,解决以往CVS、Subversion、MicrosoftSourceSafe或MicrosoftTeamFoundationServer只要Server因故损毁所有心血付诸东流的问题。其次,git强大的mergebranch(合并分支)、rebase(官方翻译为”衍合”、TortoiseGit翻译为”变基”)与冲突管理功能,让单一工程师同时进行多分支开发(如同时须维护主分支与开发Hotfix分支间的分支切换)或多人协同开发同一个专案(多人多分支)时得以顺利合并程式码。MicrosoftWindows上GUI版本的git程式比较着名的有GitHubDesktop(不只是能够支援GitHub云端版本库,并且支援本地与私有Server的版本库操作〉AtlassianSourceTree以及TortoiseGi。我们将以SourceTree以及TortoiseGit做示范,。而Server端版本库基础建设我们选用UbuntuLinuxServer14.04LTS架设GitLabCommunityEdition(GitLabCE)选用此方案最主要的考量是1.GitLabCE与云端版的GitLab功能相当,具备完整团队开发所需的功能,如:Todolist待办清单、Milestone开发里程碑标示、tag打标签等等。2.内建issuetrackingsystem,无须额外整合。3.具有完整权限控管功能。4.完成度高,已获得众多跨国公司、政府机关广泛采用。本手册目标是提供一个快速入门上手的指南,仅针对单一工程师开发专案做说明,branch、merge、rebase、冲突管理等更深入的议题还请自行参考网路上或购买书籍。以下列示本说明书之图例:图例说明样式视窗双边框、白底,表示视窗Window选单单边框、白底,表示视窗或按下滑鼠右键的选单Menu分类页签阴影虚线框,表示视窗中的分类页签Tab视窗项目15%灰底,表示视窗中出现的选项叙述或文字WindowItem按钮阴影实线框、15%灰底,表示视窗中的按钮ButtonEscl阴影实线框,表示键盘上的按键Key设备现况HypervisorHypervisorHost:HostnameVirtualHardDiskCapacityLinuxIDDefaultUserPasswordGitLabCEVersion:GitLabrootPassword:IPv4表格1设备现况表TortoiseGitTortoiseGit并不是一个单一的视窗程式。TortoiseGit整合於Windows档案总管的滑鼠右键选单中,这赋予TortoiseGit轻便、快速与操作简易的特性。当然,相对因此带来一些局限性(比方说提交历程浏览和两个commit间的程式码差异比对比较不是那麽的方便,且不能正常显示Big-5码,所以我们将会另外再安装AtlassianSourceTree),但应付日常工作绝对绰绰有余。TortoiseGit只负责GUI的操作,并不包含git程式,所以要先下载安装gitforWindows。先到下载gitforWindows适合的版本安装基本上一路按下一步即可成功安装到下载适合的版本安装并下载繁体中文语系安装程式基本上一路按下一步即可成功安装初始化版本库目录利用Windows档案总管找出先前已建立使用的程式码资料夹或者是建立一个资料夹myprjOl,并在该资料夹上按下滑鼠右键选择GitCreaterepositoryhere...(Git在此建立版本库)接着出现以下视窗:请勿勾选MakeitBareBare版本库指的是此指仅能用以Clone,Push和Pull。并无法直接对其操作,多半是用於Server上制作远端版本库之用。Commit提交新增档案或资料夹内已有原始码,可以在该资料夹上按下滑鼠右键选择国Commit->“master”首次Commit提交目前的程式码接着出现以下画面提交前要先设定提交人员的名字与电子邮件地址提醒您git的设定档具有阶层套用概念:System(作业系统层级)〉Global(使用者设定档层级)>Local(版本库),较高阶层的设定值会覆写较低阶层的设定值,当您修改好之後可以点选一下Effective页签目前被套用的设定值这里我们建议您选择Global後输入UserInfo中的Name和Email後,按下套用按钮後,选择Effective按钮查看现在被套用的值是否如预期一般。按下确定按钮後会出现提交视窗。这是提交视窗,一般来说,这可能是你在开发专案时,除了Compile指令以外最常用到的功能,看上去很复杂,但事实上你常用就那几个按钮。Message处请填写此次提交的内容摘要。下方的档案窗格会列出尚未被追踪(Status处显示Unknown,官方程式则是unstage)以及修改过的档案列表,尚未被追踪的档案前并没有勾选可以点选档案窗格上方的Check:All将所有未被追踪的档案全部勾选起来,当然,如果您有不希望被追踪的档案(如暂存档之类)请取消勾选。最後按下Commit按钮。提交成功会出现如上的资讯视窗。提交时产生新分支在该资料夹上按下滑鼠右键选择gitCommit->“master”,来到提交视窗时,请勾选视窗上方的newbranch并於左方的空格中输入新分支的名称後按下OK按钮即可产生新分支。提交的时机并不是每次修改程式码就马上需要提交,可能是完成某一个模组、某一个Bug的修改、某一个设定档案的添加才需要做提交,实际提交的条件还是需要依据专案特性与开发小组的政策。但有时我们会遇到需要切换开发分支的状况,例如因需要修正前一版的bug,便需要从目前所在的开发分支切换回前一版开发分支。但因为我们所在分支可能已经有一些开发进度,但尚未达到可以提交的标准,只是想暂时存放该专案目录的目前状态,以便日後继续编辑(或是反悔);或者是因为我们因为测试或其他目的需要多存几份程式码的状况,可以利用stash(官方翻译:储藏、TortoiseGit翻译:保存藏起)功能。Stash储藏在该资料夹上按下滑鼠右键选择TortoiseGit]〉〔StashSave出现以下视窗下方有两个互斥选项,请选择--all选项会一并将可忽略档案(可忽略档案的设定还请)进行储藏。git可以拥有多个储藏,是你在测试多份演算法时的好帮手。切换至某分支/取出某提交在该资料夹上按下滑鼠右键选择TortoiseGi]>〔Switch/Checkout出现以下视窗您可以选择Branch列表中的分支或者是选择Commit某次提交需要点选该行最右边的…按钮,接着会出现以下视窗:选择你要切换/取出的分支或提交後按下OK。接着又会回到上一个视窗如果您选择取出的是某次commit,会自动勾选下方的CreateNewBranch并产生新分支,您也可以取消产生新分支。AtlassianSourceTreeAtlassian是git云端储存库的母公司,旗下的SourceTree广受欢迎,目前有Windows&MacOSX双平台版本可供使用者选用。SourceTree是完整的git操作程式,可实现git完整功能。以下我们仅会以浏览开发纪录做为示范。到下载AtlassianSourceTree免费供大家使用,但使用前须注册一个帐号。首次启动时还请先依据画面上只是注册一个帐号。浏览整个专案开启SourceTree後,会看到如下的视窗,此时请按下CTRL+O或者是上排选单列中的File\Open开启本地端版本库资料夹开启成功後便可看到commit的历程记录,只要移动光标或者是滑鼠点选各个commit点便可浏览个别的异动细节。包含各个档案的异动内容。当然,SourceTree可以完成所有git的工作,值得好好研究。GitLabCE4.1登入各位的登入权限已经设定完成。预设密码是P@ssw0rd画面说明Groups专案群组专案群组是GitLabCE中最主要的权限管理的单位。专案群组的名称必须是英文、数字、底线或小数点组成。专案群组会以URL中的路径存在,所以您也可以认为这是资料匣的一种。好比说即为专案群组名称。在GitLabCE中,使用者帐号同时也是一种专案群组,您可以於其下建立使用者专案。当然,使用者专案仅能由个别使用者修改,其他人员最多只能Clone该专案或者是观看内容。虽然看起来像资料匣路径,但GitLabCE不支援巢状专案群组。专案群组权限会直接套用於该专案群组内的所有专案。专案群组基本上有以下五种权限分类,每个使用者仅能存在於一种权限分类中,以下专案群组权限简要说明:权限名称专案群组简要权限说明Guest浏览专案群组Reporter浏览专案群组Developer浏览专案群组Master浏览专案群组、新增群组内专案Owner包含Master所有权卩艮并可修改专案群组设定、管理专案群组权限、移除专案群组以下是专案权限简要说明:权限名称专案简要权限说明Guest仅能对专案提父issue或留下建议Reporter包含Guest所有权限,并可下载专案、拉取专案、管理issue追踪Developer包含Reporter所有权限,并可提父程式码、新增或合并分支Master包含Developer所有权限,并可异动专案权限、管理tagOwner包含Master所有权限,并可删除专案以上主要列出常用的权限说明,若需要查看细节请自行观看GitLabCE上说明。TortoiseGitpush推送本地版本库至GitLabCE上的新专案4.4.1於GitLabCE建立新专案登入GitLabCE後,点击|+NewProject]按钮後,出现以下画面:ProjectsProjectpath专案能见度ImportprojectfromDescription(optional)专案叙述NewProjectVisibilityLevel(?)建立专案WanttohouseseveraldependentprojEctsundEirthmsamenamespace?CreateagroupQGitHubWBitbucketVGitLIBGProjectsProjectpath专案能见度ImportprojectfromDescription(optional)专案叙述NewProjectVisibilityLevel(?)建立专案WanttohouseseveraldependentprojEctsundEirthmsamenamespace?CreateagroupQGitHubWBitbucketVGitLIBGGGoogleCodeftFogbugzgitAmyrepobyURLAPrivate私有,仅专案群组内人员可见此专案Projectaccessmustbegrantedexplicitlytoeachuser.UInternal内部,只要能登入此网站者皆可done此专案Theprojectcanbeclonedbyanyloggedinuser.OPublic公开,无须登入网站即可clone此专案Theprojectcanbeclonedwithoutanyauthentication.Cancel请依序选择专案群组、输入专案名称、输入专案叙述(选用)、选择专案能见度为私有後按下下方的CreateprojeCt建立专案。

福案旧編輯©检視世)屋史固書籤适工具(E說明凹NewIssue-it/sqlserveir.„.X百*it/test-GitLabgitlab/it/testQlabmilestonegitlab/it/testQlabmilestone|A0it/testyE)E)Project'test1wassuccessfullycreated.testfitest☆Star专案路径HTTPS-http://gitlab/it/test.gitHTTPS-TherepositoryforthisprojectisemptyIfyoualreadyhavefilesyoucanpushthemusingcommandlineinstructionsbelow.Otherwiseyoucan£tartwithmdkliingREADMEfilgtothis;project.请将此专案路径抄下。接下来我们会将本地端版本库推送到4.4.2Push推送本地端版本库至GitLabCE上的新专案在该资料夹上按下滑鼠右键选择TortoiseGit>push推送出现以下推送视窗,请点选Remote选项後方的Managj按钮出现git设定视窗,并显示Remote分类设定页:请将方才抄下的专案路径输入到URL&PushURL上,上方Remote名称则

会自动出现origin的名称。在git中origin名称具有特殊意义,代表此本地端版本库预设的远端版本库。在git中,一切都是去中心化,所以您可以架设多台Server远端版本库或者是设定多组云端版本库,将程式码推送到不同的地方进行备份。输入完毕後,请按下AddNew/sIVe按钮中间的Remote:选单中就会出现origin的项目:完成後按下确定按钮,则会回到推送视窗,并弹出请您输入该远端版本库的存取帐号密码:帐号密码输入完毕後请按下确定按钮。帐号密码输入完毕後请按下Logn按钮。回到推送视窗,请按下下方的OK按钮。若一切设定正确则会看到以下推送视窗:看到success则代表推送成功。4.4.3查看已推送成功的专案请登入GitLabCE查看专案内容是否与本地端版本库一致:

testGlobal葩00WikiCreateMergeRequest、丿GitLabGotogroupWProjectYoupushedtomasterbranch4minutesagoStaroFForko菩Members电Labels觀Activityit/testvtest衍生数HTTPvhttp://gitlab/it/testtestGlobal葩00WikiCreateMergeRequest、丿GitLabGotogroupWProjectYoupushedtomasterbranch4minutesagoStaroFForko菩Members电Labels觀Activityit/testvtest衍生数HTTPvhttp://gitlab/it/test.gitCommitsMilestonesAddChangelogAddContr标签数最近提交资讯lc602ed4Mergebranch'Branch_fS31ab651-34minutesagobylyhu4commits总长度Otags0.23MB提交数Builds分支数2branches卜载此专案最後提交程式码ZIP档TortoiseGitpull拉取专案至本地端假设您换了一架新电脑,要继续开发工作,除了传统备份还原的方式把版本库复制到新电脑上之外,也可以利用pull从远端拉取专案内容至本地端版本库。首先请先建立一个空的资料夹并初始化版本库。在该资料夹上按下滑鼠右键选择TortoiseGit>pull|拉取:出现拉取视窗:请先点选下半部偏右的蓝色字样ManageRemotes设定本地端版本库的origin预设远端版本库资料,设定方式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论