GitLab使用總結

程式碼管理一直用svn,git的分支管理認為是最好的,嘗試用用。

一.GitLab簡介

GitLab 是一個用於倉庫管理系統的開源專案。使用Git作為程式碼管理工具,並在此基礎上搭建起來的web服務。

可通過Web介面進行訪問公開的或者私人專案。它擁有與Github類似的功能,能夠瀏覽原始碼,管理缺陷和註釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個檔案歷史庫。團隊成員可以利用內建的簡單聊天程式(Wall)進行交流。它還提供一個程式碼片段收集功能可以輕鬆實現程式碼複用。

下載安裝 https://bitnami.com/stack/gitlab/installer

二.GitLab 的配置與使用

1.建立新專案(web)

1-1.登入gitlab網址成功後,點選右側導航條上的 “ ” 就可以進入建立專案的頁面

 new_project_1.png

1-2.在建立工程的頁面,按照要求填寫專案的名稱和可見性等資訊。

Project path:專案的路徑,一般可以認為是專案的名稱

Import prject from:從哪匯入專案,提供Github/Bitbucket等幾個選項

Description(專案的描述):可選項,對專案的簡單描述

Visibility Level(專案可見級別):提供Private(私有的,只有你自己或者組內的成員能訪問)/Internal(所有登入的使用者)/Public(公開的,所有人都可以訪問)三種選項。

 

2.新增和配置SSH公鑰:

2-1.SSH(Secure Shell)是一種安全協議,在你的電腦與GitLab伺服器進行通訊時,我們使用SSH金鑰(SSH Keys)認證的方式來保證通訊安全。

2-2.建立 SSH金鑰,並將金鑰中的公鑰新增到GitLab,以便我們通過SSH協議來訪問Git倉庫。

SSH 金鑰的建立需要在終端(命令列)環境下進行,我們首先進入命令列環境。通常在OS X和Linux平臺下我們使用終端工具(Terminal),在Windows平臺中,可以使用Git Bash工具,git客戶端安裝目錄下git-bash.exe檔案

A:進入SSH目錄:cd ~/.ssh

(1)如果還沒有 ~/.ssh 目錄,可以手工建立一個(mkdir ~/.ssh),之後再通過cd
~/.ssh進入SSH目錄

(2)可以通過ls -l命令檢視SSH目錄下的檔案,來確認你是否已經生成過SSH金鑰;如果SSH目錄為空,我們開始第二步B,生成 SSH 金鑰;如果存在id_rsa.pub這個檔案,說明你之前生成過SSH金鑰,如何新增多個sshkey也不難,一般很少用,這裡不介紹了。

B:生成SSH金鑰

我們通過下面的命令生成金鑰,請將命令中的[email protected]替換為你註冊gitlab時用的Email地址。

ssh-keygen -t rsa -C “[email protected]

在SSH生成過程中會出現以下資訊,按螢幕的提示操作即可:

Note:Enter passphrase (empty for no passphrase) :時,可以直接按兩次回車鍵輸入一個空的
passphrase;也可以選擇輸入一個 passphrase 口令,如果此時你輸入了一個passphrase,請牢記,之後每次提交時都需要輸入這個口令來確認。

實踐過程中Android studio 如果有密碼無法同步,建議不要密碼。

公鑰預設地址:C:\Users\使用者\.ssh 

連線git伺服器生成可信任檔案known_hosts,否則會報:Push failed: Failed with error: fatal: Could not read from remote repository.

Per Android Studio help under SSH Executable:

  • Built-in: select this option to use the implementation provided by IntelliJ IDEA.
  • Native: select this option to use native implementation.

修改SSH Executable 為 Native

3.獲取SSH公鑰資訊:

SSH金鑰生成結束後,根據提示資訊找到SSH目錄,會看到私鑰id_rsa和公鑰id_rsa.pub這兩個檔案,不要把私鑰檔案id_rsa的資訊透露給任何人。我們可以通過cat命令或文字編輯器來檢視id_rsa.pub公鑰資訊。

(1)通過編輯器。使用你熟悉的文字編輯器,比如 記事本、Sublime Text等軟體開啟id_rsa.pub,複製裡面的所有內容以備下一步使用。

(2)通過cat命令。在命令列中敲入cat id_rsa.pub,回車執行後命令列介面中會顯示id_rsa.pub檔案裡的內容,複製後在下一步使用。

(3)通過直接使用命令將id_rsa.pub檔案裡的內容複製到剪下板中

Windows: clip
< ~/.ssh/id_rsa.pub

Mac: pbcopy
< ~/.ssh/id_rsa.pub

GNU/Linux (requires xclip): xclip
-sel clip < ~/.ssh/id_rsa.pub

4.新增SSH公鑰到gitlab:

4-1.開啟gitlab的Profile配置頁面,選擇SSH Keys,如圖:

4-2.新增SSH公鑰。填寫Title和Key,其中Title是Key的描述資訊,Key是上面複製的SSH公鑰的內容,直接貼上到輸入框中儲存即可。




5.匯入專案:

5-1.設定下git的使用者名稱和郵箱

在提交程式碼前,還需要設定下git的使用者名稱和郵箱(最好用英文,不要出現中文),這樣提交記錄才會在gitlab上顯示帶有你名字的記錄。
在命令列視窗輸入(windows需要安裝開啟Git Bash工具才行):
git config –global user.name”your_name”
git config –global user.email “your_email”

5-2.導新專案到gitlab上

如果專案存在,需要匯入到gitlab,可以通過命令列直接將專案匯入上去。

cd "本地存在專案的路徑"
git init
git remote add origin [email protected]:USERNAME/PROJECTNAME.git
git add .
git commit -m 'first git demo'
git push -u origin master

(注:將USERNAME和PROJECTNAME替換成使用者名稱和專案的名稱)

5-3.匯入專案到本地

git clone”你的專案地址”

Note:如何在gitlab上找到你的專案地址位置,請看下圖: