Git GitLab 使用及规范
Git & GitLab 使用及規(guī)范
http://www.myexception.cn/software/1891171.html ;
www.MyException.Cn??網(wǎng)友分享于:2015-04-19Git安裝配置及基本使用
git config --global user.name your-name,設(shè)置你的個人信息。
echo "#Description" > README.md,添加一個文件
git status,查看當(dāng)前狀態(tài),發(fā)現(xiàn)有未跟蹤文件
git add .,當(dāng)前目錄所有文件添加到暫存區(qū)
git diff,比較當(dāng)前工作區(qū)和暫存區(qū)有何不同
git status,查看當(dāng)前狀態(tài),發(fā)現(xiàn)有文件未提交
git commit -m "注釋",把暫存區(qū)內(nèi)容提交到本地倉庫
git push -u origin master,把本地倉庫的提交推送到遠(yuǎn)程倉庫
git log,查看提交日志
Git本地分支管理
git branch,顯示所有分支
git branch b1,從當(dāng)前分支創(chuàng)建一個叫b1的分支
git checkout b1,切換到b1分支
git checkout -b b1,相當(dāng)于以上兩條命令的組合
git checkout master,切換到master主分支
git merge b1,把b1分支的代碼合并到master上
git branch -d b1,刪除b1分支,不能在被刪除分支上執(zhí)行
Git Tag標(biāo)簽管理
git tag t1,從當(dāng)前分支創(chuàng)建一個名為t1的標(biāo)簽
git tag -d t1,刪除名為t1的標(biāo)簽
GitLib權(quán)限管理
GitLib有五種身份權(quán)限,分別是:
- Owner 項目所有者,擁有所有的操作權(quán)限
- Master 項目的管理者,除更改、刪除項目元信息外其它操作均可
- Developer 項目的開發(fā)人員,做一些開發(fā)工作,對受保護(hù)內(nèi)容無權(quán)限
- Reporter 項目的報告者,只有項目的讀權(quán)限,可以創(chuàng)建代碼片斷
- Guest 項目的游客,只能提交問題和評論內(nèi)容
具體參見GitLab權(quán)限,為項目添加成員時可指定成員的身份權(quán)限。
命名規(guī)則
- 每次提交必須寫明注釋,如果是修復(fù)Bug,請加上Bug號
- 創(chuàng)建特性分支,名稱要以f-開頭,加上特性名
- 創(chuàng)建發(fā)布分支,名稱要以r-開頭,加上預(yù)發(fā)布版本號
- 創(chuàng)建Bug修復(fù)分支,名稱要以b-開頭,加上Bug號
- 創(chuàng)建標(biāo)簽,名稱要以t-開頭,加上發(fā)布版本號
- 合并分支時必須使用--no-ff參數(shù),以保留合并歷史軌跡
分支模型
整體流程圖:
主要分支(保護(hù)分支)
- master 主分支,穩(wěn)定代碼,為生產(chǎn)環(huán)境做準(zhǔn)備的
- develop 開發(fā)分支,為開發(fā)服務(wù)
分支關(guān)系類似下圖:
輔助分支
特性分支
從develop分支創(chuàng)建,用于特性開發(fā),完成后要合并回develop分支。
操作過程:
git checkout -b newfeature develop,從develop分支創(chuàng)建newfeature特性分支
git checkout develop,開發(fā)完成后,需要合并回develop分支,先切換到develop分支
git merge --no-ff newfeature,合并回develop分支,必須加--no-ff參數(shù)
git branch -d newfeature,刪除特性分支
git push origin develop,把合并后的develop分支推送到遠(yuǎn)程倉庫
分支關(guān)系類似下圖:
發(fā)布分支
從develop分支創(chuàng)建,用于預(yù)發(fā)布版本,允許小bug修復(fù),完成后要合并回develop和master。
操作過程:
git checkou -b release-1.2 develop,創(chuàng)建一個發(fā)布分支
git checkout master,切換到master分支,準(zhǔn)備合并
git merge --no-ff release-1.2,把release-1.2分支合并到master分支
git tag 1.2,從master分支打一個標(biāo)簽
git checkou develop,切換到develop分支,準(zhǔn)備合并
git merge --no-ff release-1.2,把release-1.2分支合并到develop分支
git branch -d release-1.2,刪除這個發(fā)布分支
修復(fù)分支
從master分支創(chuàng)建,用于生產(chǎn)環(huán)境上的Bug修復(fù),完成后要合并回develop和master。
操作過程:
git checkout -b hotfix-1.2.1 master,從master分支創(chuàng)建一個Bug修復(fù)分支
git checkout master,切換到master分支,準(zhǔn)備合并
git merge --no-ff hotfix-1.2.1,合并到master分支
git tag 1.2.1,為master分支創(chuàng)建一個標(biāo)簽
git checkout develop,切換到develop分支,準(zhǔn)備合并
git merge --no-ff hotfix-1.2.1,合并到develop分支
git branch -d hotfix-1.2.1,刪除hotfix-1.2.1分支
分支關(guān)系類似下圖:
Git協(xié)同模型
SVN式集中協(xié)同模型
適用于小型項目,參與人員較少的項目,每個開發(fā)者均可向倉庫推送代碼
金字塔模型
適用于大型項目,參與人員較多,并且等級劃分嚴(yán)明,代碼需要逐級審核的項目僅核心開發(fā)人員可以向倉庫推送代碼,開發(fā)人員只能從倉庫拉取代碼,開發(fā)人員的代碼需先推送給核心開發(fā)人員審核通過后,合并之后才能推送,一般情況下是使用 GitHub的 Pull Request的方式 《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的Git GitLab 使用及规范的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SM4密码算法(附源码)
- 下一篇: 历届 SIGGRAPH 上有什么新奇、有