久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Git提交信息規范

     印度阿三17 2023-08-29 發布于重慶

    1. 背景

    Git 是目前世界上最先進的分布式版本控制系統,在我們平時的項目開發中已經廣泛使用。而當我們使用Git提交代碼時,都需要寫Commit Message提交說明才能夠正常提交。

    git commit -m "提交"

    然而,我們平時在編寫提交說明時,通常會直接填寫如"fix"或"bug"等不規范的說明,不規范的提交說明很難讓人明白這次代碼提交究竟是為了什么。而在工作中,一份清晰簡介規范的 Commit Message 能讓后續代碼審查、信息查找、版本回退都更加高效可靠。因此我們需要一些工具來約束開發者編寫符合規范的提交說明。

    2. 提交規范

    那么,什么樣的提交說明才能符合規范的說明呢?不同的團隊可以制定不同的規范,當然,我們也可以直接使用目前流行的規范,比如[Angular Git Commit

    Guidelines。接下來將會對目前流行的Angular提交規范進行介紹。

    2.1 提交格式

    符合規范的Commit Message的提交格式如下,包含了頁眉(header)、正文(body)和頁腳(footer)三部分。其中,header是必須的,body和footer可以

    忽略。

    <type>(<scope>): <subject>// 空一行<body>// 空一行<footer>

    2.2 頁眉設置

    頁眉(header)通常只有一行,包括了提交類型(type)、作用域(scope)和主題(subject)。其中,type和subject是必須的,scope是可選的。

    2.2.1 提交類型

    提交類型(type)用于說明此次提交的類型,需要指定為下面其中一個:

    img

    2.2.2 作用域

    作用域(scope)表示此次提交影響的范圍。比如可以取值api,表明只影響了接口。

    2.2.3 主題

    主題(subject)描述是簡短的一句話,簡單說明此次提交的內容。

    2.3 正文和頁腳

    正文(body)和頁眉(footer)這兩部分不是必須的。

    如果是破壞性的變更,那就必須在提交的正文或腳注加以展示。一個破壞性變更必須包含大寫的文本 BREAKING CHANGE,緊跟冒號和空格。腳注必須只包含 BREAKINGCHANGE、外部鏈接、issue引用和其它元數據信息BREAKING CHANGE、外部鏈接、issue 引用和其它元數據信息BREAKINGCHANGE、外部鏈接、issue引用和其它元數據信息。例如修改了提交的流程,依賴了一些包,可以在正文寫上:BREANKING CHANGE:需要重新npm install,使用npm run cm代替git commit。

    下面給出了一個Commit Message例子,該例子中包含了header和body。

    chore: 引入commitizenBREANKING CHANGE:需要重新npm install,使用npm run cm代替git commit

    當然,在平時的提交中,我們也可以只包含header,比如我們修改了登錄頁面的某個功能,那么可以這樣寫 Commit Message。

    feat(登錄):添加登錄接口

    3.使用Git命令行提交信息

    為了規范commit信息,可以配置一個全局的 commit message template ,所有提交的 commit message

    都按照這個配置來寫

    首先新建模板文件:

    在任意目錄下新建.getmessage.txt ,填入以下模板

    # <類型>:(影響范圍) <主題> # <body># <footer># 類型字段包含:
    #     feat:新功能(feature)
    #     fix:修復bug
    #     doc:文檔(documentation)
    #     style: 格式化 ESLint調整等(不影響代碼運行的變動)
    #     refactor:重構(即不是新增功能,也不是修改bug的代碼變動)
    #     test:增加測試
    #     build: 影響構建系統或外部依賴項的更改(maven,gradle,npm 等等)
    #     ci: 對CI配置文件和腳本的更改
    #     chore:對非 src 和 test 目錄的修改
    #     revert: Revert a commit
    # 影響范圍:
    #     用于說明 commit 影響的范圍,比如修改的登錄頁、賬戶中心頁等
    # 主題:
    #    commit目的的簡短描述,不超過50個字符
    # Body 部分是對本次 commit 的詳細描述,可以分成多行
    # Footer用來關閉 Issue或以BREAKING CHANGE開頭,后面是對變動的描述、
    #       以及變動理由和遷移方法

    3. Commitizen

    雖然有了規范,但是還是無法保證每個人都能夠遵守相應的規范,因此就需要使用一些工具來保證大家都能夠提交符合規范的Commit Message。常用的工具包括了可視化工具和信息交互工具,其中Commitizen是常用的Commitizen工具,接下來將會先介紹Commitizen的使用方法。

    3.1 什么是Commitizen

    Commitizen是一個撰寫符合上面Commit Message標準的一款工具,可以幫助開發者提交符合規范的Commit Message。

    3.2 安裝Commitizen

    可以使用npm安裝Commitizen。其中,cz-conventional-changelog是本地適配器。

    npm install commitizen cz-conventional-changelog --save-dev

    3.3 配置Commitizen

    安裝好Commitizen之后,就需要配置Commitizen,我們需要在package.json中加入以下代碼。其中,需要增加一個script,使得我們可以通過執行npm run cm

    來代替git commit,而path為cz-conventional-changelog包相對于項目根目錄的路徑。

    ”script": {  "cm: "git-cz"},"config": {"commitizen": {"path": "./node_modules/cz-conventional-changelog"}}

    配置完成之后,我們就可以通過執行npm run cm來代替git commit,接著只需要安裝提示,完成header、body和footer的編寫,就能夠編寫出符合規范的

    Commit Message。

    img

    4. vscode可視化提交工具

    除了使用Commitizen信息交互工具來幫助我們規范Commit Message之外,我們也可以使用編譯器自帶的可視化提交工具。接下來,將會介紹VSCode可視化提交工具的使用方法。

    在VSCode的EXTENSIONS中找到 git-commit-plugin插件,點擊install進行安裝。

    img

    安裝完成之后,可以通過git add添加要提交的文件,接著,在Source Control點擊show git commit template圖標,開始編寫Commit Message信息。

    img

    接下來只需要按照指引進行Commit Message的編寫。

    img

    當編寫完成之后,可以得到符合規范的Commit Message,這個時候就可以放心將Commit Message及所修改的文件進行提交啦。

    img

    5. idea可視化工具

    idea 安裝此插件:Git Commit Template
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    參數解析如下:

    • feat: 新功能

    • fix: 修復bug

    • docs: 只有文檔改變

    • style: 并沒有影響代碼的意義(空格,去掉分號,格式的修改等)

    • refactor: 代碼的修改并沒有修改bug,也沒有添加新功能

    • perf: 代碼的修改提高的性能

    • test: 添加測試

    • build: 影響構建系統或外部依賴項的更改(maven,gradle,npm 等等)

    • ci: 對CI配置文件和腳本的更改

    • chore:對非 src 和 test 目錄的修改

    • revert: Revert a commit

    影響范圍: 用于說明commit影響的范圍,比如 修改的登錄頁,賬戶中心等

    Body 部分是對本次 commit 的詳細描述,可以分成多行

    Footer用來關閉 Issue或以BREAKING CHANGE開頭,后面是對變動的描述、 以及變動理由和遷移方法

    https://www./show/4/705714.html

    https://blog.csdn.net/fd2025/article/details/124543690

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 亚洲国产无套无码AV电影| 在线天堂中文官网| 永久免费AV无码国产网站 | 免费AV片在线观看网址| 午夜宅男在线永久免费观看网 | 国内精品久久久久久无码不卡| 天天做天天爱夜夜爽导航| 东北女人毛多水多牲交视频 | 亚洲AV永久无码精品一福利| 亚洲一区二区精品偷拍| 国产精品亚洲А∨怡红院| 97人妻碰碰视频免费上线| 国产JJZZJJZZ视频全部免费| 无码国内精品久久人妻| 女人的天堂A国产在线观看 | 成人午夜福利视频| 国产香蕉尹人综合在线观看| 伊人久久大香线蕉亚洲五月天| 国产欲女高潮正在播放| 国产精品免费看久久久| 超碰人人超碰人人| 日韩精品中文字幕人妻| 51国偷自产一区二区三区 | 亚洲国产五月综合网| 男女性杂交内射女bbwxz| 粗壮挺进邻居人妻| 草裙社区精品视频播放| 国产AV激情久久无码天堂| 四虎成人精品永久网站| 国产综合色在线精品| 无码AV无码天堂资源网影音先锋| 中文字幕在线精品人妻| 无码高潮爽到爆的喷水视频| 午夜免费国产体验区免费的| 国产免费无遮挡吃奶视频| 亚洲AV永久无码精品三区在线| 欧美国产综合欧美视频| 亚洲欧美偷国产日韩| 国产精品久久国产精麻豆99网站| 精品香蕉久久久午夜福利| 国产男人的天堂在线视频|