Gitlab的使用

Gitlab的使用

最近成功的在公司部署了gitlab,鑒于同學們還不會使用,這里寫篇博客說明下。如果想安裝gitlab的話,需要一些linux的基礎知識,我在這里記錄了我安裝的參考《http://www.cnbluebox.com/?p=378

1.什么是git

鑒于有同學還沒用過git,就先介紹一下git吧。git就是一種版本控制工具。說到版本控制,大家可能就想到了svn。但是兩者有著本質的區別。

svn是集中化的版本控制系統, 只有一個單一的集中管理的服務器,保存所有文件的修訂版本,而協同工作的人們都通過客戶端連到這臺服務器,取出最新的文件或者提交更新。

git是分布式的版本控制系統, 每一個終端都是一個倉庫,客戶端并不只提取最新版本的文件快照,而是把原始的代碼倉庫完整地鏡像下來。每一次的提取操作,實際上都是一次對代碼倉庫的完整備份。

集中式版本控制:

分布式版本控制:

2.GitLab創建工程

點擊導航條上的 “+” 就可以進入創建工程頁面

這里面很簡單,主要講兩個地方:

2.1 namespace

這個選擇是用來決定這個工程所屬的,可以選User為你自己?;蛘哌x擇組,這個會影響到后面工程的url。例如我選擇了組suning創建工程SuningTest、 那么這個工程就會在這個組內可見,那么訪問路徑就是https://domain.com/suning/suningtest

2.2 Visibility Level

權限等級分三種:

Private 私有的,只有你自己或者組內的成員能訪問

Internal 所有登錄的用戶

Public 公開的,所有人都可以訪問

3.Git的使用

3.1 添加sshkey

git倉庫之間的代碼傳輸協議主要使用ssh協議。而一般搭建gitlab的時候使用的git用戶是沒有密碼的,因此直接ssh是不能登錄的,就需要使用ssh-keygen上傳公鑰,使用非對稱加密傳輸。下面講述如何上傳你的ssh公鑰:

3.1.1生成sshkey

在終端中敲下面的命令,第一步會生成一對私鑰和公鑰,分別存在~/.ssh/id_rsa和~/.ssh/id_rsa.pub中。第二步查看公鑰字符串。

ssh-keygen -t rsa -C "$your_email"

cat ~/.ssh/id_rsa.pub

3.1.2保存sshkey到gitlab

在面板上依次點擊Profile Settings –> SSH Keys –> Add SSH Keys。然后把上一步中的id_rsa.pub中的內容拷貝出來粘貼到輸入框中,保存。

完成上面兩步之后就成功的添加了sshkey了,然后就可以上傳代碼了。

3.2 初始上傳代碼

如果你已經使用過git了,那么這一步對你來說可以跳過了。整體來說比較簡單的。下面的$project_root代表工程根目錄

進入工程目錄cd $project_root

初始化git倉庫git init

添加文件到倉庫git add .

提交代碼到倉庫git commit -m 'init commit'

鏈接到git servergit remote add origin git@example.com:namespace/projectname.git

push代碼到服務器git push origin master

3.3 克隆代碼到本地

在svn中,我們都叫checkout. 把代碼checkout到本地。而git中我們叫克隆,克隆會把整個倉庫都拉到本地。

如,我要把剛才的工程再clone到本地。

git clone git@example.com:namespace/projectname.git

3.4 設置gitignore

有一些文件或文件夾是我們不想要被版本控制的,比如.DS_Store build\ xcuserdata thumbs.db,git提供了一種忽略的方案。

在項目根目錄下創建.gitignore文件,然后把需要忽略的文件或文件夾名寫進去。這樣就可以忽略這些文件受版本控制啦。

svn也提供了這樣忽略的方案,svn也可以設置全局忽略。svn的此配置放在~/.subversion/config中global-ignores的值。

通過設置ignore,我們可以實現git和svn雙管理哦,就是在svn忽略.git文件夾,在gitignore中忽略.svn文件夾,有興趣的同學可以試試

3.5 git文件的狀態

git管理下的文件有3種狀態,如下圖:

3.6 git基礎

git博大精深,個人感覺,不管是從其強大的功能上,還是從其實現方案上來講比svn強大很多。這里貼個學習鏈接吧,這一系列講的非常全面非常詳細:

Git基礎

3.7 圖形化git管理工具

如果說你不喜歡命令行的使用方式,你也可以使用圖形界面工具SoureTree:http://www.sourcetreeapp.com/界面簡潔,使用方便,功能強大。

貼個預覽:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Gitlab的使用 最近成功的在公司部署了gitlab,鑒于同學們還不會使用,這里寫篇博客說明下。如果想安裝git...
    西江月閱讀 477評論 0 0
  • gitlab使用流程 標簽(空格分隔): gitlab 1、前言 使用svn的同學抓(dan)狂(sui)的問題?...
    jackcooper閱讀 20,758評論 1 33
  • ## 1、選擇創建新項目 登錄成功后,點擊導航條上的 “+” 就可以進入創建項目的頁面 ## 2、填寫項目的信息 ...
    smkoc閱讀 2,402評論 0 1
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,937評論 18 139
  • 安姐我是年初開始認識的,“小皮鞋 ”是她見面時對我的稱呼,雖然莫名其妙但我還是出于禮貌的笑笑,算是回應了,...
    吃了貓的魚兒閱讀 303評論 3 0