私有 giab 使用手册Revised by BLUE on the afternoon of December 12,2020.私有gitlab简易使用手册CESCM编号 密等 日期 作者Mar. 30, 2016 Roy Hu版权声明 。
Copyright 2016 Copyright 商标声明 本书所提到之商标,皆属於原合法注册公司所有。
Trademarks All brand names and product names used in this book are trademarks, registered trademarks, or trade name of their respective holders. 免责声明 。
LIMITATION OF LIABILITY .版本 Revision出版日期 Issue DateDraft mm-dd-yyyy修订记录修订章节 Section Changed出版修订原因 Reason for issueAllDraft Initial备注 Remarks目录找不到图表目录。
图表目录表格目录1 第一章 简介git 是由 Linux kernel 作者 Linus Torvalds 於 2005 年 04 月时所开发的 DVCS,起初是为了取代用以控管目前已高达千万行 Linux kernel source code 的商用 SCM 产品:BitKeeper。
经过多年来的发展,已广泛应用於各大 open source 专案并被许多公司整合入自家产品内,包含微软的开发工具 Visual Studio 或 Google 等。
逐渐取代集中式 VCS 如:CVS、Subversion 或 Microsoft SourceSafe 等。
git 的世界观并非为传统 VCS 的 Client-Server 架构, git 一切的操作 皆围绕在 local 的 repository (版本库) 上。
(事实上, git 并没有所谓的 Server 端)。
而所谓的 Server 其实只是提供远端存取版本库的地方,Server 只需要提供可供 git 程式存取档案的协定即可,不论是:(如 Microsoft Windows 的网路芳邻 SMB UNC 路径)、 Internet 标准的 HTTP/HTTPS 协定、 Secure Shell ( ) 协定 或(少用) git 的设计哲学就是要让开发人员得以去中心化的方式使用操作 SCM,无需 类似其他 SCM 系统还可能需要协调资源并安排系统工程师布署 SCM Server 。
去中心化是 git 或者是其他知名 DVCS 的重要精神概念,也是为了因应管 理分散式开发程式码所带来的挑战,所有的开发人员的电脑 (甚至是多台 Server ) 上都有一份完整的程式码,而不是只有自己所开发的那一部分,解决 以往 CVS 、 Subversion 、 Microsoft SourceSafe 或 Microsoft Team Foundation Server 只要 Server 因故损毁所有心血付诸东流的问题。
其次, git 强大的 merge branch (合并分支) 、 rebase (官方翻译为”衍合”、TortoiseGit 翻译为”变基”) 与冲突管理功能,让单一工程师同时进行多分支 开发 (如同时须维护主分支与开发 Hotfix 分支间的分支切换) 或多人协同开发 同一个专案 (多人多分支) 时得以顺利合并程式码。
Microsoft Windows 上 GUI 版本的 git 程式比较着名的有 GitHub Desktop (不只是能够支援 GitHub 云端版本库,并且支援本地与私有 Server 的版本库操作)、 Atlassian SourceTree 以及 TortoiseGit。
我们将以 SourceTree 以及 TortoiseGit 做示范,。
而 Server 端版本库基础建设我们选用 Ubuntu Linux Server LTS 架设 GitLab Community Edition (GitLab CE)。
选用此方案最主要的考量是 1. GitLab CE 与云端版的 GitLab 功能相当,具备完整团队开发所需的功能,如: Todo list 待办清单、Milestone 开发里程碑标示、tag 打标签等等。
2. 内建 issue tracking system ,无须额外整合。
3. 具有完整权限控管功能。
4. 完成 度高,已获得众多跨国公司、政府机关广泛采用。
本手册目标是提供一个快速入门上手的指南,仅针对单一工程师开发专案做 说明,branch、merge、rebase、冲突管理等更深入的议题还请自行参考网路上 或购买书籍。
以下列示本说明书之图例:图例说明样式视窗双边框、白底,表示视窗Window选单单边框、白底,表示视窗或按下滑鼠右键的选单 Menu分类页签 阴影虚线框,表示视窗中的分类页签Tab视窗项目 15%灰底,表示视窗中出现的选项叙述或文字WindowItem按钮阴影实线框、15%灰底,表示视窗中的按钮ButtonEsc阴影实线框,表示键盘上的按键Key1.1设备现况表格 1 设备现况表2TortoiseGitTortoiseGit 并不是一个单一的视窗程式。
TortoiseGit 整合於 Windows 档案总管的滑鼠右键选单中,这赋予 TortoiseGit 轻便、快速与操作简易的特性。
当然,相对因此带来一些局限性 (比方说提交历程浏览和两个 commit 间的程式码差异比对比较不是那麽的方便,且不能正常显示 Big-5 码,所以我们将会另外再安装 Atlassian SourceTree ),但应付日常工作绝对绰绰有余。
TortoiseGit 只负责 GUI 的操作,并不包含 git 程式,所以要先下载安装git for Windows。
2.1先到下载 git for Windows 适合的版本安装基本上一路按下一步即可成功安装2.2到下载适合的版本安装并下载繁体中文语系安装程式基本上一路按下一步即可成功安装2.3初始化版本库目录利用Windows档案总管找出先前已建立使用的程式码资料夹或者是建立一个资料夹 myprj01,并在该资料夹上按下滑鼠右键选择在此建立版本库)接着出现以下视窗:请勿勾选 Make it BareBare 版本库指的是此指仅能用以 Clone, Push 和 Pull 。
并无法直接对其操作,多半是用於 Server 上制作远端版本库之用。
2.4Commit 提交新增档案或资料夹内已有原始码,可以在该资料夹上按下滑鼠右键选择首次Commit提交目前的程式码接着出现以下画面提交前要先设定提交人员的名字与电子邮件地址提醒您 git 的设定档具有阶层套用概念: System (作业系统层级)> Global(使用者设定档层级) > Local (版本库),较高阶层的设定值会覆写较低阶层的设定值,当您修改好之後可以点选一下 Effective 页签目前被套用的设定值这里我们建议您选择 Global 後输入 User Info 中的 Name 和 Email 後, 按下套用按钮後,选择 Effective 按钮查看现在被套用的值是否如预期一般。
这是提交视窗,一般来说,这可能是你在开发专案时,除了 Compile 指令以外最常用到的功能,看上去很复杂,但事实上你常用就那几个按钮。
Message 处请填写此次提交的内容摘要。
下方的档案窗格会列出尚未被追踪 ( Status 处显示 Unknown ,官方程式则是 unstage ) 以及修改过的档案列表,尚未被追踪的档案前并没有勾选,可以点选档案窗格上方的 Check: All 将所有未被追踪的档案全部勾选起来,当然,如果您有不希望被追踪的档案(如暂存档之类)请取消勾选。
最後按下按钮。
提交成功会出现如上的资讯视窗。
2.5提交时产生新分支在该资料夹上按下滑鼠右键选择窗时,请勾选视窗上方的 new branch 并於左方的空格中输入新分支的名称後按下按钮即可产生新分支。
2.6提交的时机并不是每次修改程式码就马上需要提交,可能是完成某一个模组、某一个Bug 的修改、某一个设定档案的添加才需要做提交,实际提交的条件还是需要依据专案特性与开发小组的政策。
但有时我们会遇到需要切换开发分支的状况, 例如因需要修正前一版的bug ,便需要从目前所在的开发分支切换回前一版开发分支。
但因为我们所在分支可能已经有一些开发进度,但尚未达到可以提交的标准,只是想暂时存放该专案目录的目前状态,以便日後继续编辑 (或是反悔);或者是因为我们因为测试或其他目的需要多存几份程式码的状况,可以利用 stash (官方翻译:储藏、TortoiseGit翻译:保存藏起) 功能。
2.7Stash 储藏在该资料夹上按下滑鼠右键选择出现以下视窗下方有两个互斥选项,请选择 --all 选项会一并将可忽略档案 (可忽略档案的设定还请) 进行储藏。
git 可以拥有多个储藏,是你在测试多份演算法时的好帮手。
2.8切换至某分支/取出某提交在该资料夹上按下滑鼠右键选择出现以下视窗您可以选择 Branch 列表中的分支或者是选择 Commit 某次提交,需要点选该行最右边的按钮,接着会出现以下视窗:选择你要切换/取出的分支或提交後按下如果您选择取出的是某次 commit ,会自动勾选下方的 Create New Branch 并产生新分支,您也可以取消产生新分支。
3Atlassian SourceTreeAtlassian 是 git 云端储存库的母公司,旗下的 SourceTree 广受欢迎,目前有 Windows & Mac OS X 双平台版本可供使用者选用。
SourceTree 是完整的 git 操作程式,可实现 git 完整功能。
以下我们仅会以浏览开发纪录做为示范。
3.1到下载Atlassian SourceTree 免费供大家使用,但使用前须注册一个帐号。
首次启动时还请先依据画面上只是注册一个帐号。
3.2浏览整个专案开启 SourceTree 後,会看到如下的视窗,此时请按下或者是上排选单列中的开启本地端版本库资料夹开启成功後便可看到 commit 的历程记录,只要移动光标或者是滑鼠点选各个 commit 点便可浏览个别的异动细节。
包含各个档案的异动内容。
当然,SourceTree 可以完成所有 git 的工作,值得好好研究。
4 GitLab CE4.1 登入各位的登入权限已经设定完成。