簡(jiǎn)評(píng):小白文(翻譯于 GitHub,原文有大量動(dòng)圖,看原文吧)

第一:我不想在這里聊什么 Github 和 Gitlab 之間的戰(zhàn)爭(zhēng)。我不關(guān)心 Github 以后的道德規(guī)范,也不關(guān)心最近微軟收購(gòu) Github 的種種消息。我編寫本指南的原因很明顯:我想幫助那些遷移到 Gitlab 的人,他們可能會(huì)遇到一些問題,那邊的情況和 GitHub 有點(diǎn)不同。
第二:我不隸屬于 Gitlab。
第三:本文屬于小白文,服務(wù)于那些連 Gitlab 都懶得注冊(cè)的開源貢獻(xiàn)者。
本文很極簡(jiǎn)(有時(shí)可能是非正式的),以便讓大家最快時(shí)間上手操作。在本指南中,我將假設(shè)你是一名有點(diǎn)基礎(chǔ)的 Github 用戶,熟悉諸如 Repo、Star、Pull Request 等基本術(shù)語,但不熟悉 Github Enterprise 或 Github 的其他「高級(jí)」功能。
行吧,介紹的夠多了,咱們開始吧。
一、設(shè)置 Gitlab
這是在成功登陸并成功登錄后的屏幕。

Gitlab 和 GitHub 的操作界面不太一樣,但是主要功能都比較相似。這里有 project、group、activity、Milestones 這塊我不多做介紹。
這里有些主要的不同,應(yīng)該特別注意的:
- Pull request => Merge request,你要找這個(gè)標(biāo)志才行。

圖標(biāo)顯示。
- Organisations => Group,你需要找這個(gè)圖標(biāo)

- Gist => Snippets
二、創(chuàng)建你的第一個(gè)新項(xiàng)目
盡管在創(chuàng)建新項(xiàng)目(存儲(chǔ)庫(kù))的選項(xiàng)并不多,但還是有的選,比如:
- balnk project
你可以是設(shè)置查看權(quán)限。私人、公開、針對(duì)內(nèi)部用戶。
- 從模板創(chuàng)建
Gitlab 提供了 Ruby on Rails,Spring 和 NodeJS Express 模板。
- 從其他服務(wù)導(dǎo)入項(xiàng)目
這個(gè)很容易。Gitlab 已經(jīng)為它提供了一個(gè)指南。
- 外部 Repo 的 CI / CD
如果你計(jì)劃使用 Gitlab 作為 CI / CD 提供商(如Jarvis,Circle CI),那就給他們一個(gè) Gitlab Token。這是指南。
三、你第一個(gè)項(xiàng)目的頁面
設(shè)置空白項(xiàng)目后,就會(huì)看到如下頁面:

在此屏幕上需要注意一些重要的事項(xiàng):
1.SSH 密鑰 - 出于安全原因,必須先安裝一個(gè)才能推送到 Gitlab。(Gitlab 使用 SSH,而Github 默認(rèn)使用 HTTPs)。這很容易,Github 和 Gitlab 都提供了一個(gè)指導(dǎo)。
2.CI / CD 和 Operation - 默認(rèn)情況下,Gitlab 具有些內(nèi)置功能。如果你不在乎或從未在 Github 中使用過 CI / CD,請(qǐng)?zhí)^以下部分。
- 如果你在 Github 上使用 CI / CD 系統(tǒng)(如 Travis,CircleCI),這幾乎是一樣的。builds 都是在一個(gè)
.yml文件中定義的,Gitlab 有一個(gè)特定的指南。 - 你可以通過操作將應(yīng)用程序與 Kubernetes(通過 Google 云平臺(tái))集成,可以輕松部署。Gitlab 也為此提供了指導(dǎo)。
- AFAIK,Gitlab 沒有得到 Travis / CircleCI 的支持。不過像 Atlassian Bamboo 或DroneCI 這樣的其他 CI 是可以的。
3.Registry - 同樣,我不確定你是否曾經(jīng)使用 container,但是如果你知道 DockerHub 或Amazon ECR 是什么,那么它就是它們的 Gitlab 版本。
其他東西與 Github 都差不太多。
當(dāng)然了,有好多 Gitlab 的高級(jí)功能我沒提。如果你覺得好氣,你可以自己研究研究:
- Visibility of literally everything, from issues to merge requests...
- Project avatar ( ?° ?? ?°)
- Activate Service Desk (yeah it's help desk for your project...)
- Export everything.
- Choose integrations with a bunch of other services like Slack, Pivotal Tracker, Asana...
四、探索其他 project 和 contribute
我敢打賭,你第一次看到其他項(xiàng)目的頁面時(shí)會(huì)感到不知所措。

舉個(gè)最典型的例子,我們可以看看 Gitlab 他自己的項(xiàng)目。
截圖如上,太多人吐槽他們的按鈕,標(biāo)題。

再反觀 Gitlab 在 GitHub 上的項(xiàng)目頁面。
這兩者截然不同的好么。
但我相信熟悉新 UI 并不難。如果在此頁面上花費(fèi) 15 秒,你將會(huì)了解如何操控。
我說說你在 15 秒內(nèi)看不到的東西:
- 問題和合并請(qǐng)求移至側(cè)邊欄
- 要?jiǎng)?chuàng)建 pull request 或者 issue 你需要登陸后點(diǎn)擊上面+按鈕,該按鈕與GitHub 上的 watch一樣(但有更多選項(xiàng))。
- 提交在 history 按鈕內(nèi)。
- Github 的 insight,在 Gitlab 的 Repository 里面看。

- Github 的 ProJect 需要在 Gitlab 里的 Broad 看,截圖如下:

- 要查看項(xiàng)目的編程語言,可以進(jìn)入Repository > Charts。

其實(shí)雖然點(diǎn)擊路徑不同了,但是本質(zhì)還是一樣的。
五、小結(jié)
到目前為止,你一定已經(jīng)意識(shí)到 Gitlab 的工作方式以及 Gitlab 提供的功能。希望能讓你順利過渡,從 GitHub 快速上手 Gitlab。Gitlab 有很多很酷的功能和玩法,而不僅僅是一個(gè) Github 的鏡像。
原文鏈接:luongvo209/Short-Gitlab-Tutorial
推薦閱讀:GitHub 和開源是對(duì)窮人的恩賜