私有giab使用手册

私有giab使用手册
私有giab使用手册

私有 giab 使用手册
Revised by BLUE on the afternoon of December 12,2020.

私有
gitlab
简易使用手册
CE
SCM
编号 密等 日期 作者
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 .

版本 Revisio
n
出版日期 Issue Date
Draft mm-dd-yyyy
修订记录
修订章节 Section Changed
出版修订原因 Reason for issue
All
Draft 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%灰底,表示视窗中的按钮
Button
Esc
阴影实线框,表示键盘上的按键
Key

1.1 设备现况
Hypervisor Hypervisor Host: Hostname Virtual Hard Disk Capacity Linux ID Default User Password GitLab CE Version: GitLab root Password: IPv4
表格 1 设备现况表
2 TortoiseGit
TortoiseGit 并不是一个单一的视窗程式。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,并在该资料夹上按下滑鼠右键选择 Git Create repository here… (Git 在此建立版本库)
接着出现以下视窗: 请勿勾选 Make it Bare Bare 版本库指的是此指仅能用以 Clone, Push 和 Pull 。并无法直接对其 操作,多半是用於 Server 上制作远端版本库之用。
2.4 Commit 提交
新增档案或资料夹内已有原始码,可以在该资料夹上按下滑鼠右键选择 git Commit -> “master” 首次 Commit 提交目前的程式码
接着出现以下画面 提交前要先设定提交人员的名字与电子邮件地址 提醒您 git 的设定档具有阶层套用概念: System (作业系统层级)> Global(使用者设定档层级) > Local (版本库),较高阶层的设定值会覆写较低 阶层的设定值,当您修改好之後可以点选一下 Effective 页签目前被套用的设 定值 这里我们建议您选择 Global 後输入 User Info 中的 Name 和 Email 後, 按下套用按钮後,选择 Effective 按钮查看现在被套用的值是否如预期一般。 按下 确定 按钮後会出现提交视窗。 这是提交视窗,一般来说,这可能是你在开发专案时,除了 Compile 指令 以外最常用到的功能,看上去很复杂,但事实上你常用就那几个按钮。Message 处请填写此次提交的内容摘要。下方的档案窗格会列出尚未被追踪 ( Status 处

显示 Unknown ,官方程式则是 unstage ) 以及修改过的档案列表,尚未被追踪 的档案前并没有勾选,可以点选档案窗格上方的 Check: All 将所有未被追踪的 档案全部勾选起来,当然,如果您有不希望被追踪的档案(如暂存档之类)请取消 勾选。最後按下 Commit 按钮。
提交成功会出现如上的资讯视窗。
2.5 提交时产生新分支
在该资料夹上按下滑鼠右键选择 git Commit -> “master”,来到提交视 窗时,请勾选视窗上方的 new branch 并於左方的空格中输入新分支的名称後按 下 OK 按钮即可产生新分支。
2.6 提交的时机
并不是每次修改程式码就马上需要提交,可能是完成某一个模组、某一个 Bug 的修改、某一个设定档案的添加才需要做提交,实际提交的条件还是需要依 据专案特性与开发小组的政策。
但有时我们会遇到需要切换开发分支的状况, 例如因需要修正前一版的 bug ,便需要从目前所在的开发分支切换回前一版开发分支。但因为我们所在分 支可能已经有一些开发进度,但尚未达到可以提交的标准,只是想暂时存放该专 案目录的目前状态,以便日後继续编辑 (或是反悔);或者是因为我们因为测试 或其他目的需要多存几份程式码的状况,可以利用 stash (官方翻译:储藏、 TortoiseGit 翻译:保存藏起) 功能。
2.7 Stash 储藏
在该资料夹上按下滑鼠右键选择 TortoiseGit > Stash Save 出现以下视窗 下方有两个互斥选项,请选择 --all 选项会一并将可忽略档案 (可忽略档

案的设定还请) 进行储藏。 git 可以拥有多个储藏,是你在测试多份演算法时的好帮手。
2.8 切换至某分支/取出某提交
在该资料夹上按下滑鼠右键选择 TortoiseGit > Switch/Checkout 出现以下视窗 您可以选择 Branch 列表中的分支或者是选择 Commit 某次提交,需要点选 该行最右边的 … 按钮,接着会出现以下视窗: 选择你要切换/取出的分支或提交後按下 OK。接着又会回到上一个视窗 如果您选择取出的是某次 commit ,会自动勾选下方的 Create New Branch 并产生新分支,您也可以取消产生新分支。
3 Atlassian SourceTree
Atlassian 是 git 云端储存库 的母公司,旗下的 SourceTree 广受欢 迎,目前有 Windows & Mac OS X 双平台版本可供使用者选用。SourceTree 是 完整的 git 操作程式,可实现 git 完整功能。以下我们仅会以浏览开发纪录做 为示范。
3.1 到 下载
Atlassian SourceTree 免费供大家使用,但使用前须注册一个帐号。首次 启动时还请先依据画面上只是注册一个帐号。
3.2 浏览整个专案
开启 SourceTree 後,会看到如下的视窗,此时请按下 CTRL + O 或者是 上排选单列中的 File \ Open 开启本地端版本库资料夹
开启成功後便可看到 commit 的历程记录,只要移动光标或者是滑鼠点选各

个 commit 点便可浏览个别的异动细节。包含各个档案的异动内容。当然, SourceTree 可以完成所有 git 的工作,值得好好研究。
4 GitLab CE
4.1 登入
各位的登入权限已经设定完成。预设密码是 P@ssw0rd
4.2 画面说明
待办数量 登出
专案列表 待办清单
专案群组 里程碑 议题追踪
专案列表 新增专案
新增专案
帐户设定 帐户资讯 缩小选单
在 GitLab 中,Project 专案即代表一个版本库。
4.3 Groups 专案群组
专案群组是 GitLab CE 中最主要的权限管理的单位。专案群组的名称必须

是英文、数字、底线或小数点组成。专案群组会以 URL 中的路径存在,所以您
也可以认为这是资料匣的一种。好比说 即为专案群组名称。
在 GitLab CE 中,使用者帐号同时也是一种专案群组,您可以於其下建立
使用者专案。当然,使用者专案仅能由个别使用者修改,其他人员最多只能
Clone 该专案或者是观看内容。
虽然看起来像资料匣路径,但 GitLab CE 不支援巢状专案群组。
专案群组权限会直接套用於该专案群组内的所有专案。
专案群组基本上有以下五种权限分类,每个使用者仅能存在於一种权限分类
中,以下专案群组权限简要说明:
权限名称 专案群组简要权限说明
Guest
浏览专案群组
Reporter 浏览专案群组
Developer 浏览专案群组
Master
浏览专案群组、新增群组内专案
Owner
包含 Master 所有权限,并可修改专案群组设定、管理专案群组权
限、移除专案群组
以下是专案权限简要说明:
权限名称 专案简要权限说明
Guest
仅能对专案提交 issue 或留下建议
Reporter 包含 Guest 所有权限,并可下载专案、拉取专案、管理 issue 追

Developer 包含 Reporter 所有权限,并可提交程式码、新增或合并分支
Master
包含 Developer 所有权限,并可异动专案权限、管理 tag
Owner
包含 Master 所有权限,并可删除专案
以上主要列出常用的权限说明,若需要查看细节请自行观看 GitLab CE 上

说明。
4.4 TortoiseGit push 推送本地版本库至 GitLab CE 上的新 专案
4.4.1 於 GitLab CE 建立新专案
登入 GitLab CE 後,点击 +New Project 按钮後,出现以下画面:
专案群组
专案名称
专案叙述 专案能见度
私有,仅专案群组内人员可见此专案 内部,只要能登入此网站者皆可 clone 此专案 公开,无须登入网站即可 clone 此专案
建立专案
请依序选择专案群组、输入专案名称、输入专案叙述(选用)、选择专案能见 度为私有後按下下方的 Create project 建立专案。

专案路径
请将此专案路径抄下。接下来我们会将本地端版本库推送到
4.4.2 Push 推送本地端版本库至 GitLab CE 上的新专案
在该资料夹上按下滑鼠右键选择 TortoiseGit > Push 推送 出现以下推送视窗,请点选 Remote 选项後方的 Manage 按钮 出现 git 设定视窗,并显示 Remote 分类设定页: 请将方才抄下的专案路径输入到 URL & Push URL 上,上方 Remote 名称则

相关主题
相关文档
最新文档