Git代碼管理規(guī)范_第1頁
Git代碼管理規(guī)范_第2頁
Git代碼管理規(guī)范_第3頁
Git代碼管理規(guī)范_第4頁
Git代碼管理規(guī)范_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第第頁Git代碼管理規(guī)范分支命名

master分支

master為主分支,也是用于部署生產(chǎn)環(huán)境的分支,需要確保master分支穩(wěn)定性。master分支一般由release以及ho(tf)ix分支合并,任何時間都不能直接修改代碼。

develop分支

develop為開發(fā)環(huán)境分支,始終保持(最新)完成以及bug修復后的代碼,用于前后端聯(lián)調(diào)。一般開發(fā)新功能時,feature分支都是基于develop分支創(chuàng)建的。

feature分支

開發(fā)新功能時,以develop為基礎創(chuàng)建feature分支。

分支命名時以

feature/

開頭,后面可以加上開發(fā)的功能模塊,命名示例:feature/user_module、feature/cart_module。

(te)st分支

test為測試環(huán)境分支,外部用戶無法訪問,專門給測試人員使用,版本相對穩(wěn)定。

release分支

release為預上線分支(預發(fā)布分支),UAT測試階段使用。一般由test或hotfix分支合并,不建議直接在release分支上直接修改代碼。

hotfix分支

線上出現(xiàn)緊急問題時,需要及時修復,以master分支為基線,創(chuàng)建hotfix分支。修復完成后,需要合并到master分支和develop分支。

分支命名以hotfix/

開頭的為修復分支,它的命名規(guī)則與feature分支類似。

分支與環(huán)境對應關系

在系統(tǒng)開發(fā)過程中常用的環(huán)境:

DEV環(huán)境(Developmentenvironment):用于(開發(fā)者)調(diào)試使用。

FAT環(huán)境(Feature(Ac)ceptanceTestenvironment):功能驗收測試環(huán)境,用于測試環(huán)境下的軟件測試者測試使用。

UAT環(huán)境(UserAcceptanceTestenvironment):用戶驗收測試環(huán)境,用于生產(chǎn)環(huán)境下的軟件測試者測試使用。

PRO環(huán)境(Produc(ti)onenvironment):生產(chǎn)環(huán)境。

對應關系:

分支功能環(huán)境可訪問master主分支,穩(wěn)定版本PRO是develop開發(fā)分支,(最新版)本DEV是feature開發(fā)分支,實現(xiàn)新特性

否test測試分支,功能測試FAT是release預上線分支,發(fā)布新版本UAT是hotfix緊急修復分支,修復線上bug

否分支合并流程規(guī)范

業(yè)界常見的兩大主分支(master、develop)、三個輔助分支(feature、release、hotfix)的生命周期:

以上生命周期僅作參考,不同開發(fā)團隊可能有不同的規(guī)范,可自行靈活定義。

例如我們團隊在開發(fā)時,至少需要保證以下流程:

develop分支和hotfix分支,必須從master分支檢出。

由develop分支合并到test分支。

功能測試無誤后,由test分支合并到release分支。

UAT測試通過后,由release分支合并到master分支。

對于工作量小的功能開發(fā)(工時小于1天),可以直接在devolop分支進行開發(fā),否則由develop分支檢出feature分支進行開發(fā),開發(fā)完后合并到develop分支。

GitCommitMessage規(guī)范

GitCommitMessage規(guī)范指提交代碼時編寫的規(guī)范解釋,編寫良好的CommitMessage可以達到3個重要的目的:

加快代碼review的流程。

幫助我們編寫良好的版本發(fā)布日志。

讓之后的維護者了解代碼里出現(xiàn)特定變化和feature被添加的原因。

AngularGitCommitGuidelines

業(yè)界應用的比較廣泛的是AngularGitCommitGuidelines:

():

type:提交類型。

scope:可選項,本次commit波及的范圍。

(sub)ject:簡明扼要地闡述下本次commit的主旨,在AngularGitCommitGuidelines中強調(diào)了三點。使用祈使句,首字母不要大寫,結尾無需添加標點。

body:同樣使用祈使句,在主體內(nèi)容中我們需要把本次commit詳細地描述一下,比如此次變更的動機。

footer:描述下與之關聯(lián)的issue或breakchange。

簡易版

項目中實際可以采用簡易版規(guī)范:

():

type規(guī)范

AngularGitCommitGuidelines中推薦的type類型如下:

feat:新增功能。

fix:修復bug。

docs:僅文檔更改。

style:不影響代碼含義的更改(空白、格式設置、缺失分號等)。

refactor:既不修復bug也不添加特性的代碼更改。

pe(rf):改進性能的代碼更改。

test:添加缺少的測試或更正現(xiàn)有測試。

chore:對構建過程或輔助工具和庫(如文檔)的更改。

除此之外,還有一些常用的類型:

delete:刪除功能或文件。

modify:修改功能。

build:改變構建流程,新增依賴庫、工具等(例如webpack、gulp、npm修改)。

test:測試用例的新增、修改。

ci:自動化流程配置修改。

revert:回滾到上一個版本。

單次提交注意事項

提交問題必須為同一類別。

提交問題不要超過3個。

提交的commit發(fā)現(xiàn)不符合規(guī)范,gitcommit--amend-m"新的提交(信息)"或

gitreset--hardHE(AD)

重新提交一次。

配置.gitignore文件

.gitignore是一份用于忽略不必提交的文件的列表,項目中可以根據(jù)實際需求統(tǒng)一.gitignore文件,減少不必要的文件提交和沖突,凈化代碼庫環(huán)境。

通用文件示例:

HELP.mdtarget/!.mvn/wrapper/maven-wrapper.jar!**/src/main/**/target/!**/src/test/**/target/###STS###.apt_generated.classpath.fact(or)ject.settings.springBeans.sts4-cache###(Intel)liJIDEA###.idea*.iws*.iml*.ipr###NetBeans###/nbproject/private//nbbuild//dist//nbdist//.nb-gradle/build/!**/src/main/**/build/!**/src/test/**/build/###VSCode###.vscode/#Logfile*.log/logs*#BlueJfiles*.ctxt#MobileToolsfor(Java)(J2ME).mtj.tmp/#PackageFiles#*.jar*.war*.ear*.zip*.tar.gz*.rar*.cmd

其他

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論