日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git 工作流和git commit规范

發布時間:2025/3/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git 工作流和git commit规范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目的

  • 統一團隊的Git工作流,包括分支使用、tag規范、issue等
  • 統一團隊的Git Commit日志標準,便于后續代碼review,版本發布以及日志自動化生成

git工作流

  • git flow工作流:

    • master為主分支,屬保護分支,不能直接在此進行代碼修改和提交。
    • develop為日常使用分支。
    • feature新功能分支,當完成一個功能并測試通過后進行合并到develop分支中。
    • hotfix線上緊急漏洞修復分支,從master分支拉取創建,修復完bug后合并到master和develop分支中。
  • gitlab flow工作流(最大原則叫做"上游優先"(upsteam first),即只存在一個主分支master,它是所有其他分支的"上游"。只有上游分支采納的代碼變化,才能應用到其他分支):

master->pre-production->production

  • master開發環境分支
  • pre-production預發環境分支
  • production生產環境分支

git commit規范

<type>(<scope>): <subject> <BLANK LINE> <body> <BLANK LINE> <footer> 復制代碼占位標簽解析: type:代表某次提交的類型,比如是修復一個bug還是增加一個新的feature。所有的type類型如下: scope:scope說明commit影響的范圍。scope依據項目而定,例如在業務項目中可以依據菜單或者功能模塊劃分,如果是組件庫開發,則可以依據組件劃分。 subject:是commit的簡短描述 body:提交代碼的詳細描述 footer:如果代碼的提交是不兼容變更或關閉缺陷,則Footer必需,否則可以省略。feat[特性]:新增feature fix[修復]: 修復bug docs[文檔]: 僅僅修改了文檔,比如README, CHANGELOG, CONTRIBUTE等等 style[格式]: 僅僅修改了空格、格式縮進、都好等等,不改變代碼邏輯 refactor[重構]: 代碼重構,沒有加新功能或者修復bug perf[優化]: 優化相關,比如提升性能、體驗 test[測試]: 測試用例,包括單元測試、集成測試等 chore[工具]: 改變構建流程、或者增加依賴庫、工具等 revert[回滾]: 回滾到上一個版本 復制代碼

示例:

特性:添加頭像功能 特性:添加收藏功能 修復:在android機器上傳崩潰問題解決 文檔:修改README,增加了使用說明 優化:首頁圖片加載緩慢優化 重構:對頭像功能進行封裝重構 復制代碼

Git標簽打包規范

**Tag版本號:**Tag包括3位版本,前綴使用v。比如v1.2.31。
Tag命名規范:
1.新功能開發使用第2位版本號,bug修復使用第3位版本號
2.首版本號是全新的功能類,功能模塊上線才做的調整

**標題格式:項目名-日期
內容格式:<分類>---<內容>
<分類>:**新功能、bug修復、優化、依賴升級、重構、漏洞&補丁

示例:

此圖片引用自:我們的GIT工作流

Git Commit格式校驗

  • 準備commitlint/cli用于格式校驗
  • 準備husky用于git提交代碼時觸發校驗
  • 全局安裝commitlint/cli
  • npm install -g @commitlint/cli @commitlint/config-conventional 復制代碼

    2.在項目根目錄創建配置文件commitlint.config.js,可以使用以下命令創建

    echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js 復制代碼

    3.在配置文件中定義提交規范,可使用以下配置:

    "module.exports = {extends: ['@commitlint/config-conventional']}"module.exports = {extends: ['@commitlint/config-conventional'],rules: {'type-enum': [2, 'always', ["feat", "fix", "docs", "style", "refactor", "test", "chore", "revert"]],'subject-full-stop': [0, 'never'],'subject-case': [0, 'never']} }; 復制代碼

    4.項目添加husky,進行git提交觸發校驗,安裝如下:

    npm install husky --save-dev 復制代碼

    5.安裝完成后在package.json中配置如下信息

    "scripts": {"commitmsg": "commitlint -e $GIT_PARAMS",},"config": {"commitizen": {"path": "cz-customizable"}}, 復制代碼

    6.經過以上步驟,git commit的規范校驗已經完成。可以進行代碼提交了。

    不規范提交>git commit -m "添加新功能" 提示: ? input: 添加新功能 ? subject may not be empty [subject-empty] ? type may not be empty [type-empty]規范提交>git commit -m "feat: 添加新功能" 復制代碼

    漢化與自定義校驗規則

    1.當前項目安裝commitlint-config-cz,如下

    npm install commitlint-config-cz --save-dev 復制代碼

    2.commitlint校驗規則配置添加如下設置:

    module.exports = {extends: ['cz'] }; 復制代碼

    3.下載官方配置文件進行修改。官方配置文件cz-config-EXAMPLE.js。修改示例如下:

    'use strict';module.exports = {types: [{value: '特性',name: '特性: 一個新的特性'},{value: '修復',name: '修復: 修復一個Bug'},{value: '文檔',name: '文檔: 變更的只有文檔'},{value: '格式',name: '格式: 空格, 分號等格式修復'},{value: '重構',name: '重構: 代碼重構,注意和特性、修復區分開'},{value: '性能',name: '性能: 提升性能'},{value: '測試',name: '測試: 添加一個測試'},{value: '工具',name: '工具: 開發工具變動(構建、腳手架工具等)'},{value: '回滾',name: '回滾: 代碼回退'}],scopes: [{name: '用戶模塊'},{name: '訂單模塊'},{name: '社區模塊'},{name: '商品模塊'}],// it needs to match the value for field type. Eg.: 'fix'/*scopeOverrides: {fix: [{name: 'merge'},{name: 'style'},{name: 'e2eTest'},{name: 'unitTest'}]},*/// override the messages, defaults are as followsmessages: {type: '選擇一種你的提交類型:',scope: '選擇一個scope (可選):',// used if allowCustomScopes is truecustomScope: 'Denote the SCOPE of this change:',subject: '簡要說明:\n',body: '詳細說明,使用"|"換行(可選):\n',breaking: '非兼容性說明 (可選):\n',footer: '關聯關閉的issue,例如:#31, #34(可選):\n',confirmCommit: '確定提交?'},allowCustomScopes: true,allowBreakingChanges: ['特性', '修復'],// limit subject lengthsubjectLimit: 100}; 復制代碼

    生成changelog

    1.安裝conventional-changelog,可以快速生成提交日志

    npm install -g conventional-changelog-cli npm install -g cz-conventional-changelog 復制代碼

    2.項目根目錄下添加?.czrc?配置文件,文件內容如下

    { "path": "cz-conventional-changelog" } 復制代碼

    3.在package.json中的scripts項增加如下指令

    "version": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md" 復制代碼

    4.執行npm run version即可在當前目錄生成changelog日志了。

    參考:
    我們的GIT工作流?
    Cz工具集使用介紹 - 規范Git提交說明
    git工作流程

    轉載于:https://juejin.im/post/5d05ef596fb9a07ef63fdbe7

    總結

    以上是生活随笔為你收集整理的git 工作流和git commit规范的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 大香伊人久久 | 婷婷色视频 | 亚欧洲精品视频在线观看 | 欧美精品久久久久久久久老牛影院 | 欧美少妇毛茸茸 | 4438x亚洲最大| 亚洲精品久久久久久国 | 欧美肉大捧一进一出免费视频 | 成人av片在线观看 | 九色91popny蝌蚪新疆 | 国产亚洲久一区二区 | 免费看av在线 | 丨国产丨调教丨91丨 | 少妇人妻无码专区视频 | 国产毛片3| 国产精品免费av一区二区三区 | 亚洲一二三四 | 永久视频| 精品一区久久 | 国内自拍青青草 | 久操精品 | 久久视频在线观看 | 欧美一级做a爰片久久高潮 久热国产精品视频 | 久久亚洲一区二区 | 91香蕉黄 | 天码人妻一区二区三区在线看 | 欧美日韩国产高清视频 | 公侵犯人妻中文字慕一区二区 | 在线看的网站 | 中文字幕在线2019 | 精品一区二区三区无码视频 | 人妻无码久久一区二区三区免费 | 成人午夜精品一区二区三区 | eeuss一区| 久久九九热 | 亚洲 欧美 另类 综合 偷拍 | 欧美成人精品三级网站 | 人人妻人人澡人人爽国产一区 | 欧美黄色网络 | 亚洲国产精品久久久久 | 韩国三级hd中文字幕叫床浴室 | av桃色| 神马午夜影院 | 一区二区三区国产精品视频 | 美国福利片 | 噼里啪啦高清 | 国产在线精 | 熟妇大屁股一区二区三区视频 | julia中文字幕在线 | 中国女人黄色大片 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 免费伊人网| 日本欧美亚洲 | 91社区福利 | 久草网站| 爱爱小视频网站 | 青青草免费在线视频 | 日韩一区二区三区四区五区六区 | 一级黄色性视频 | 男人综合网 | 干丰满少妇| 成人免费在线播放 | 天天干天天拍 | 天天夜夜操 | 精品九九九九 | 久久亚洲aⅴ无码精品 | 久青草国产在线 | 亚洲精品国产片 | 91久久精品一区二区三区 | 国产在线观看无码免费视频 | 黄网在线看 | 亚洲蜜桃视频 | 香蕉视频18 | 一级在线看 | 激情图片区 | 欧美激情视频在线观看 | 国产色91| 国产毛片在线看 | 成人1区| 激情久久网站 | 日韩av看片 | 精品成人一区 | 国产高清小视频 | 天堂中文字幕av | 亚洲免费观看高清 | 青青青国产精品一区二区 | 九一av | 三级精品在线观看 | 免费污污视频在线观看 | 欧美日韩在线中文字幕 | 就操在线| 大咪咪dvd | 五月婷婷七月丁香 | 制服丝袜快播 | 国产精品igao视频 | 操色网 | 日韩aaa | 99自拍 | 麻豆视频国产 |