https
交互方式
https
的方式每次操作遠程倉庫都需要提供用戶名及密碼- 另外對於
https
的方式,由於是自鑑權的SSL 證書,未經過第三方機構簽署- 所以git的客戶端會報錯,需要我們在使用時添加如下選項進行忽略
git clone -c http.sslVerify=false https://192.168.1.58/git/doc/gitdoc.git
- 或者是 在本地的項目文件夾 運行如下命令
git config http.sslVerify false
- 注意 不要加
--global
選項 除非你的git只用在公司的所有項目中 不然會導致你應用第三方git倉庫的https
方式忽略掉證書錯誤
- 如果一次性上傳的內容較大,還需要修改如下選項
git config --global http.postBuffer 5242880
- 這樣就是最大50M了
- 總之 還是下面提到的
ssh
的方式更適合我們的工作方式 當然現在很多IDE會可以記錄你的https
的用戶名和密碼 - 如果喜歡也可以用
https
的方式 包括在別人的電腦上臨時clone
應急處理也是可以採用這種方式的
ssh
交互方式
- 如果需要用
ssh
提交 需要提交自己的ssh key 當然大多數情況下都是採用這種方式的 - 以windows爲例 安裝了msysgit後 在Git Bash 中輸入如下命令:
ssh-keygen -t rsa -C "你的郵箱地址"
- 這個郵箱地址也是你註冊gitlab的郵箱地址
- 會在 C:/用戶 對應的用戶文件夾內的.ssh 下生成
id_rsa
及id_rsa.pub
- (私鑰的密碼可設置也可不設置,看個人需求)
- 上到 gitlab的地址並提交自己的
id_rsa.pub
的內容
gitlab
的group
- gitlab有group的概念,比如我建立了一個關於文檔相關的組
- 然後在這個組下我新建了gitdoc的git項目
- 下圖是創建時關於項目權限的選擇
關於gitlab
的權限
- 對於一個group 或一個project來講 都可以添加members
- 添加的時候會有權限選擇 如下
Guest
Reporter
Developer
Master
- 當然項目的創建者 擁有最高權限
Owner
- 上述鏈接中有關於group 及 project 的權限相關說明 請仔細閱讀
- 關於
accuvally
的項目master
分支 一般人是不會有push 權限的develop
分支 可視項目的複雜度及大小 由各個項目的master權限管理者制定feature
分支 所有爲developer 的人應該都有push權限