利用sourceTree管理gitlab[純操作]
需要安裝的軟體
建立Groups組
- 在設定介面建立Groups小組
Gitlab中的組和專案有三種訪問許可權
Private:只有組成員才能看到
Internal:只要登入的使用者就能看到
Public:所有人都能看到
填寫完成後左下角有個綠色按鈕Create Groups,點選它完成建立
- 給Groups組新增成員
- 按下圖進入Groups組
-進入Members選項卡新增成員到Groups組,新增資訊包括(成員郵箱、許可權、到期時間)許可權分為五種,分別代表五種不同許可權。
Guest:可以建立issue、發表評論,不能讀寫版本庫
Reporter:可以克隆程式碼,不能提交,QA、PM可以賦予這個許可權
Developer:可以克隆程式碼、開發、提交、push,RD可以賦予這個許可權
Master:可以建立專案、新增tag、保護分支、新增專案成員、編輯專案,核心RD負責人可以賦予這個許可權
Owner:可以設定專案訪問許可權 - Visibility Level、刪除專案、遷移專案、管理組成員,開發組leader可以賦予這個許可權
建立專案
建立專案入口
建立專案
建立ssh金鑰
開啟安裝好的git命令視窗執行 ssh-keygen -t rsa -C “你的郵箱名(也就是你在gitlab上面的賬號名)”
執行完成會在C盤的使用者目錄生成.ssh資料夾,如:C:\Users\Allen.ssh 裡面包含id_rsa私鑰、id_isa.pub公鑰。
用記事本開啟公鑰,複製裡面內容,放到gitlab上(使用者設定-ssh keys選單下:如圖)
注:如此建立ssh後,下次客戶端訪問就不用輸入賬號密碼了
把本機程式碼上傳上gitlab伺服器上
在git命令視窗輸入以下命令
cd $project root 你的工程目錄
git init 初始化git倉庫
git add . 新增檔案到暫存庫(別忘了add後面的點)
git commit -m ‘init commit’ 把暫存庫的程式碼提交到本地倉庫,init commit為提交的說明,必填噢
git remote add origin git 專案地址 連結到gitlab伺服器上的專案地址
git push origin master push程式碼到伺服器
如此:伺服器上就存在你剛提交的程式碼了
sourceTree新增專案
- 新增ssh
開啟sourceTree,選擇選單 工具——選項,彈出選項設定框。在ssh客戶端欄選擇本地ssh檔案id_rsa(就是前面我們生成的私鑰)
- 新增專案
點選選項卡旁邊的加號,在出現的介面會有三個選擇。
clone——克隆網路git庫
add——新增本地git庫
Create——建立新的git庫
根據下圖填寫相關資訊
sourceTree常用
1、提交(提交程式碼到本地倉庫,在拉取程式碼之前先提交本地修改過的檔案)
2、推送(提交完之後,就利用推送,把本地庫所修改的推送到伺服器對應專案)
3、拉取(拉取伺服器上git庫程式碼到本地庫)
4、獲取(獲取伺服器上的變更,包括分支、標籤等,如果伺服器上有變更,對應的選單上會有相應的數標出現 )
5、分支(可以在本地庫建立分支,刪除分支)
6、合併(合併分支,先在圖示9處選擇要合併到的分支,再選擇12處選擇要合併到的點)
7、標籤(給分支中的某個點新增標籤,可以用來記錄版本)
8、工作副本(顯示修改了還未提交的檔案,或拉取時衝突的檔案)
9、分支(顯示本地庫的分支)
10、標籤(顯示本地標籤)
11、遠端(顯示遠端伺服器庫分支及標籤)
12、日誌列表(顯示當前分支提交的日誌列表)
13、日誌詳情(顯示某個日誌的詳情,也就是顯示當前日誌所修改的檔案)
14、檔案詳情(顯示左邊單個檔案所修改的內容詳情)
15、工作流(當開發新功能時利用這個工作流,可很好的管理本地分支,後面詳細介紹)
注:除以上之外,還有一些設定、命令列模式、貯藏、丟棄等等,大家自行摸索。
sourceTree工作流
當第一次點選git工作流時,會出現下圖介面(配置介面,可以配置產品分支、開發分支,以及各型別分支的字首)
配置好後再點選git工作流時,將選擇你下一步將要做的模組,比如我要開發一個新的功能,當選擇新的功能後,會自動生成一個分支(帶有前面配置的字首的分支)
當新增完成後,左邊的分支列表會多出一個feature,這個名字就是我們前面配置功能分支字首的預設值,在它下面會有一個test分支,test就是功能分支的名稱了
注:如此就可以在此狀態下開發功能了。
當開發完成後,再點選git工作流,會彈出一個框,選擇“完成功能”然後直接確認
注:以上操作完成後,再看左邊分支,工作流的分支不見了,自動合併到了我們的develop開發分支
備註:以上為原創內容,轉載請帶上鍊接,謝謝