一.GitLab簡介
GitLab 是一個用於倉庫管理系統的開源項目。使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務。
可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個文件歷史庫。團隊成員可以利用內置的簡單聊天程序(Wall)進行交流。它還提供一個代碼片段收集功能可以輕松實現代碼復用。
二.GitLab和Github的聯系和區別
三.gitlab安裝及使用
接下來我們通過windows的unbuntu虛擬機搭建一個gitlib服務端代碼管理端
怎么利用hyper-v安裝ubuntu的linux服務器,可以自己百度,非常簡單,10-20分鍾就可以搞定。
1.准備工作
windows10 、hyper-v、ubuntu的linux虛擬機
2.轉到以下地址,安裝gitlab
https://about.gitlab.com/downloads/#ubuntu1404
只需要簡單的四部,就可以安裝好gitlab。如下圖:
在完成后,直接在瀏覽器中,輸入http://127.0.0.1,就可以直接訪問gitlab的web端管理地址,如下圖:
然后直接輸入輸入圖一中,第四步的賬號密碼,就可以直接訪問了。如下圖:
到此,gitlab服務就搭建完成,下一篇文章,我們會講解,安裝過程中出現的問題,如安裝后,輸入http://127.0.0.1訪問不到gitlab的web管理頁面,以及怎樣配置自定義的gitlab域名服務。
怎么使用呢,后期再說,其實這個和github代碼管理有很多相似的地方
四.GitLab 的配置與使用
1.創建新項目(web)
1-1.登錄gitlab網址成功后,點擊右側導航條上的 “+” 就可以進入創建項目的頁面
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密鑰
我們通過下面的命令生成密鑰,請將命令中的YOUR_EMAIL@YOUREMAIL.COM替換為你注冊gitlab時用的Email地址。
ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM"
在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:
修改SSH Executable 為 Native
- Built-in: select this option to use the implementation provided by IntelliJ IDEA.
- Native: select this option to use native implementation.
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 git@gitlab.com:USERNAME/PROJECTNAME.git
- git add .
- git commit -m 'first git demo'
- git push -u origin master
(注:將USERNAME和PROJECTNAME替換成用戶名和項目的名稱)
5-3.導入項目到本地
git clone"你的項目地址"
Note:如何在gitlab上找到你的項目地址位置,請看下圖: