柚子快報(bào)激活碼778899分享:git分布式版本控制系統(tǒng)(六)
柚子快報(bào)激活碼778899分享:git分布式版本控制系統(tǒng)(六)
目前世界上最先進(jìn)的分布式版本控制系統(tǒng)
官方網(wǎng)址:https://git-scm.com
學(xué)習(xí)目標(biāo):
1 了解 git 前世今生 2 掌握 git 基礎(chǔ)概念、基礎(chǔ)操作 3 各種 git 問(wèn)題處理 4 互聯(lián)網(wǎng)常用 gitflow(工作流程規(guī)范) 5 git 代碼提交規(guī)范 6 git 分支管理及命名規(guī)范
代碼提交規(guī)范
Commit message
我們每一次提交必定是有特殊的行為,或是開(kāi)發(fā)新功能、或是修復(fù)bug等等。我們針對(duì)不同的操作有如下的分類: type 必填,commit 的類型 ?feat: 開(kāi)發(fā)新的功能 ?fix: 修復(fù)bug ?refactor: 代碼重構(gòu) ?docs: 文檔修改 ?style: 代碼格式修改, 注意不是 css 修改 ?test: 測(cè)試用例修改 ?perf: 改善性能 ?build: 變更項(xiàng)目構(gòu)建或外部依賴(例如scopes: webpack、gulp、npm等) ?chore: 其他修改, 比如構(gòu)建流程, 依賴管理. ?revert: 代碼回退 ?而commit的格式也有標(biāo)準(zhǔn)格式: ?scope: commit 影響的范圍, 比如: route, component, utils, build… ?subject: commit 的概述 ?body: commit 具體修改內(nèi)容 ?footer: 一些備注, 通常是 BREAKING CHANGE 或修復(fù)的 bug 的鏈接 scope 可選,表示影響的范圍、功能、模塊 subject 必填,簡(jiǎn)單說(shuō)明,不超過(guò) 50個(gè)字 body 選填,用于填寫(xiě)更詳細(xì)的描述 footer 選填,用于填關(guān)聯(lián)issus,或BREAK CHANGE 要注意的幾點(diǎn): 1.每一次commit的message需要明確對(duì)應(yīng)代碼的功能,無(wú)效信息不會(huì)通過(guò),如“添加適配文件”、“First commit”等 2.對(duì)于多余無(wú)效的commits需要壓縮,如連續(xù)的相同commit messages的commits、連續(xù)的codecheck修改等 示例一:需要壓縮成一條
正確示范
錯(cuò)誤示范
分支管理及命名規(guī)范
項(xiàng)目分支
一般來(lái)說(shuō),互聯(lián)網(wǎng)項(xiàng)目有上線分支,預(yù)上線分支,測(cè)試分支,開(kāi)發(fā)分支等. 保證不同的分支做不同的事情,防止分支污染。
上線分支(RELEASE/master),是發(fā)布到線上的分支,以這個(gè)分支為準(zhǔn),其他分支都是以這個(gè)分支為基礎(chǔ)拉取。預(yù)上線分支(preonline),在預(yù)上線環(huán)境當(dāng)中,防止出錯(cuò)的最后一道保證。測(cè)試分支(testing),可能測(cè)試環(huán)境大家共用一套,所以把代碼都merge到這里,然后發(fā)布。這樣大家各自測(cè)試自己的,互不打擾。如果有多個(gè)測(cè)試 環(huán)境的話,直接使用開(kāi)發(fā)分支測(cè)試也是可以的。開(kāi)發(fā)分支(feature/{功能名稱(下劃線命名)}_ {用戶名(全拼)}),從上線分支(RELEASE)拉取,根據(jù)需求修改的新分支。
分支規(guī)范
測(cè)試分支以及預(yù)上線分支要定時(shí)清理,和上線分支同步。上線分支以及預(yù)上線分支,merge權(quán)限保證在少數(shù)人手里。merge的時(shí)候,需要檢查提交以及對(duì)線上的影響。只能在開(kāi)發(fā)分支修改代碼,其他分支都是等著被merge.提交之前,需要保證和上線分支沒(méi)有沖突。防止分支被污染,特別是受到測(cè)試分支污染。
流程規(guī)范之外
人是最難管理的,以及人是懶惰的。這些話是非常準(zhǔn)確的,所以會(huì)遇到以下問(wèn)題,還得需要解決。
需求改動(dòng)非常小,是不是還得走整體流程。緊急修復(fù)問(wèn)題,是不是還得走整體流程。 具體怎么做,每一個(gè)公司和組都有自己的做法,是不是都必須都得走一遍流程。但是,分支規(guī)范是必須的,不能隨意修改。直接在上線分支修改,堅(jiān)決說(shuō)NO!
柚子快報(bào)激活碼778899分享:git分布式版本控制系統(tǒng)(六)
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。