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