小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Git提交信息規(guī)范

 印度阿三17 2023-08-29 發(fā)布于重慶

1. 背景

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

git commit -m "提交"

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

2. 提交規(guī)范

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

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

2.1 提交格式

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

忽略。

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

2.2 頁眉設(shè)置

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

2.2.1 提交類型

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

img

2.2.2 作用域

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

2.2.3 主題

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

2.3 正文和頁腳

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

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

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

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

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

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

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

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

都按照這個配置來寫

首先新建模板文件:

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

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

3. Commitizen

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

3.1 什么是Commitizen

Commitizen是一個撰寫符合上面Commit Message標(biāo)準(zhǔn)的一款工具,可以幫助開發(fā)者提交符合規(guī)范的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,使得我們可以通過執(zhí)行npm run cm

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

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

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

Commit Message。

img

4. vscode可視化提交工具

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

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

img

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

img

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

img

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

img

5. idea可視化工具

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

  • feat: 新功能

  • fix: 修復(fù)bug

  • docs: 只有文檔改變

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

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

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

  • test: 添加測試

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

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

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

  • revert: Revert a commit

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

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

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

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

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

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多