GitLab的使用
~ 安裝Git客戶端
-
<u>https://git-scm.com/downloads</u>被去,下載Git客戶端
~注冊(cè)GitLab
~添加SSH key
點(diǎn)擊右上角用戶頭像,選擇Setting蔚袍,選擇SSH keys凛忿,
生成SSH keys耳鸯, -
將key文本框填入SSH key,title里填入自定義標(biāo)題创译,然后點(diǎn)擊Add key
圖片1.png
~建立工程
1.點(diǎn)擊左上角菜單按鈕抵知,選擇Projects,點(diǎn)擊New project
2.Project path通常選擇開發(fā)組名软族,Project Name填寫工程名稱刷喜,Visibility Level 通常選擇Private,點(diǎn)擊Create project進(jìn)行保存
通過SourceTree管理GitLab
- SourceTree下載地址:
Windows: <u>http://downloads.atlassian.com/software/sourcetree/windows/SourceTreeSetup_1.6.21.exe</u>
Mac:
<u>http://downloads.atlassian.com/software/sourcetree/SourceTree_2.0.5.3.dmg</u> - 安裝SourceTree到本地并運(yùn)行
- 從url克隆倉(cāng)庫(kù)立砸,源路徑填寫git@github.com::xxxx(組名)/xxxx(工程名).git掖疮,目標(biāo)路徑填寫本地儲(chǔ)存路徑,點(diǎn)擊克隆
- 拉取代碼颗祝,打開新克隆工程浊闪,點(diǎn)擊工具欄中拉取按鈕
~ MAC下生成和添加SSH keys
1恼布、清楚以往的本地git賬號(hào)
查看ssh-agent中的密鑰: ssh-add -l
從ssh-agent中刪除密鑰: ssh-add -d ~/.ssh/id_rsa.pub
2、生成SSH keys方法:
打開終端搁宾,
ssh-keygen -t rsa -C "youname@.qq.com"桥氏, 按多次enter。
在Mac當(dāng)前用戶名下會(huì)有一個(gè).ssh文件猛铅。
查看 .ssh
$ ls -a ~/.ssh 通過搜索目錄
id_rsa //私鑰
id_rsa.pub //公鑰
打開 id_rsa.pub文件 里面就有需要的ssh 公鑰。
復(fù)制公鑰到GitLab添加SSH輸入框凤藏。
ssh-keygen -t rsa -C "youname@.qq.com"
Enter passphrase (empty for no passphrase): 注:輸入密碼
Enter same passphrase again: 注:輸入密碼
Your identification has been saved in /Users/1sujia/.ssh/id_rsa.
Your public key has been saved in /Users/1sujia/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:0SiX7sis2WgYFstytkqel3Z5lNoqO9R+W4FM8KAGYDs GitLab
The key's randomart image is:
+---[RSA 4096]----+
|oo o |
|. o . + + |
| E o .o= . |
| + o+.. |
| . o. oS. |
|. B. + = . |
| *.+o O .. |
|o +*.X +. |
|.+ooO.=.. |
+----[SHA256]-----+
3.拷貝SSH key
-
粘貼到這里
點(diǎn)擊右上角用戶頭像奸忽,選擇Setting,選擇SSH keys揖庄,
將key文本框填入SSH key栗菜,title里填入自定義標(biāo)題,然后點(diǎn)擊Add key
圖片1.png
用戶 / User
運(yùn)維同學(xué)會(huì)為大家創(chuàng)建好GitLab用戶并設(shè)置初始密碼蹄梢,請(qǐng)各位首次登錄后修改密碼疙筹,未來(lái)也請(qǐng)按下述要求設(shè)置自己的賬號(hào):
- 用戶名 / Username:使用姓名全拼,全小寫禁炒,中間沒有空格
- 郵箱 / Email:使用公司郵箱
- 顯示名 / Name:使用姓名全拼檀夹,姓哗蜈、名首字母分別大寫,中間一個(gè)空格
例:
組 / Group
在GitLab中組就是我們現(xiàn)實(shí)中的項(xiàng)目團(tuán)隊(duì)或職能團(tuán)隊(duì),如:移動(dòng)端組督赤、前端組、后端組(盡管業(yè)務(wù)權(quán)責(zé)不同树碱,但為促進(jìn)后端開發(fā)同學(xué)形成統(tǒng)一標(biāo)準(zhǔn)和規(guī)范记罚,后端不再做更細(xì)的拆分)、QA組望迎、基礎(chǔ)設(shè)施組障癌、運(yùn)維部,請(qǐng)按下述規(guī)范創(chuàng)建組:
- 名稱及路徑 / Group path:使用小寫英文(不知道該起什么名字的來(lái)可以跟皓珉確認(rèn))辩尊,單詞之間用“-”連接
- 描述 / Description:中文描述涛浙,簡(jiǎn)單說明組的職能,各團(tuán)隊(duì)也可發(fā)揮想象力寫個(gè)個(gè)性化的描述
- 頭像 / Group avatar:可以上傳本組頭像
- 可見等級(jí) / Visibility Level:請(qǐng)選擇Internal摄欲,即GitLab內(nèi)部用戶可見蝗拿;請(qǐng)不要選擇Private或Public
例:
Group path: we-tech-inf
Description: W.E.Tech基礎(chǔ)設(shè)施團(tuán)隊(duì),為上層服務(wù)提供基礎(chǔ)服務(wù)(如消息通知)及中間件
Visibility level: Internal
項(xiàng)目 / Project
通常來(lái)講創(chuàng)建項(xiàng)目即我們的獨(dú)立代碼維護(hù)單元蒿涎,當(dāng)開發(fā)新的“獨(dú)立”業(yè)務(wù)系統(tǒng)時(shí)哀托,請(qǐng)相關(guān)組負(fù)責(zé)創(chuàng)建項(xiàng)目,創(chuàng)建時(shí)請(qǐng)遵循下述規(guī)范:
- 名稱及路徑 / Project path:使用小寫英文(不知道該起什么名字的來(lái)可以跟皓珉確認(rèn))劳秋,單詞之間用“-”連接
- 描述 / Description
- 可見等級(jí) / Visibility Level:請(qǐng)選擇Private仓手,即本組用戶可見(出于安全考慮胖齐,我們踐行最小權(quán)限原則,如果項(xiàng)目代碼有必要向其他GitLab用戶共享嗽冒,請(qǐng)通過設(shè)置Project組間共享的功能實(shí)現(xiàn)呀伙,并設(shè)置好訪問級(jí)別)
Project name: message-center
Project description: 實(shí)現(xiàn)消息推送、短信添坊、郵件等用戶觸達(dá)功能剿另,為服務(wù)層提供底層基礎(chǔ)設(shè)施
Visibility level: Private
文檔
每個(gè)包含代碼的項(xiàng)目都應(yīng)有相應(yīng)的文檔,可以分為下述兩個(gè)位置:
- README.md:與代碼一起維護(hù)贬蛙,作用是
- 項(xiàng)目的簡(jiǎn)要說明
- 重要文檔的Shortcut雨女,一般指向Wiki中的文檔,可參考welcome的README.md
- Wiki:項(xiàng)目相關(guān)的所有文檔阳准,包括但不限于
- 團(tuán)隊(duì)成員介紹
- 系統(tǒng)描述文檔
幾點(diǎn)注意:
- 文檔命名氛堕,請(qǐng)使用小寫英文,單詞間用“-”連接
- GitLab中的Wiki也是使用git管理的野蝇,所以墻裂推薦通過git像管理代碼一樣管理Wiki中的項(xiàng)目文檔
- 不同團(tuán)隊(duì)可能有不同的設(shè)計(jì)原則讼稚、代碼規(guī)范、最佳實(shí)踐等文檔绕沈,這部分文檔請(qǐng)放在we-tech/welcome項(xiàng)目的Wiki中锐想,不要直接散布在各個(gè)項(xiàng)目中
- 請(qǐng)使用Markdown編輯提交GitLab中的文檔,推薦:
Git 終端命令
//克隆git倉(cāng)庫(kù)
git clone git@gitlab.we.com:we-tech-iOS/investment.git
//
git remote 不帶參數(shù)乍狐,列出已經(jīng)存在的遠(yuǎn)程分支
git remote
origin
git remote -v 列出詳細(xì)信息痛倚,在每一個(gè)名字后面列出其遠(yuǎn)程url
git remote -v
origin git@gitlab.we.com:we-tech-iOS/investment.git (fetch)
origin git@gitlab.we.com:we-tech-iOS/investment.git (push)
git remote add name url 在url創(chuàng)建名字為name的倉(cāng)庫(kù)
git remote add gitOrigin git@gitlab.we.com:we-tech-iOS/investment.git
git remote rm origin 刪除名稱為origin的遠(yuǎn)程倉(cāng)庫(kù)
// git branch
git branch 列出本地已經(jīng)存在的分支
git branch -r 列出遠(yuǎn)程已經(jīng)存在的分支
git branch -a 列出本地和遠(yuǎn)程已經(jīng)存在的分支
git branch name 創(chuàng)建一個(gè)新的名為name的分支,并不切換分支
git branch -m oldbranch newbranch 重命名分支
git branch -d branch name 刪除
//git checkout
git checkout name 切換分支
git checkout -b name 創(chuàng)建新分支并切換過去
//git pull
git pull
git pull origin ***
git push
git push -f origin feature/更改幫助中心url 強(qiáng)制將本地分支推送到遠(yuǎn)程分支
//vim
vim 文件名 用文本編輯器打開某個(gè)文件
//git status
git status 查看當(dāng)前分支
git clean -fx
git log