網(wǎng)站建設(shè)推廣怎么做抖音seo怎么做

第三代軟件開發(fā)-Git提交規(guī)范
文章目錄
- 第三代軟件開發(fā)-Git提交規(guī)范
- 項(xiàng)目介紹
- Git提交規(guī)范
- 分支規(guī)范
- Commit Message Format
- Header
- Body
- Footer
- Revert
- 總結(jié)一下
關(guān)鍵字:
Qt
、
Qml
、
git
、
Commit
、
release
項(xiàng)目介紹
歡迎來到我們的 QML & C++ 項(xiàng)目!這個(gè)項(xiàng)目結(jié)合了 QML(Qt Meta-Object Language)和 C++ 的強(qiáng)大功能,旨在開發(fā)出色的用戶界面和高性能的后端邏輯。
在項(xiàng)目中,我們利用 QML 的聲明式語法和可視化設(shè)計(jì)能力創(chuàng)建出現(xiàn)代化的用戶界面。通過直觀的編碼和可重用的組件,我們能夠迅速開發(fā)出豐富多樣的界面效果和動(dòng)畫效果。同時(shí),我們利用 QML 強(qiáng)大的集成能力,輕松將 C++ 的底層邏輯和數(shù)據(jù)模型集成到前端界面中。
在后端方面,我們使用 C++ 編寫高性能的算法、數(shù)據(jù)處理和計(jì)算邏輯。C++ 是一種強(qiáng)大的編程語言,能夠提供卓越的性能和可擴(kuò)展性。我們的團(tuán)隊(duì)致力于優(yōu)化代碼,減少資源消耗,以確保我們的項(xiàng)目在各種平臺(tái)和設(shè)備上都能夠高效運(yùn)行。
無論您是對(duì) QML 和 C++ 開發(fā)感興趣,還是需要我們?yōu)槟鷺?gòu)建復(fù)雜的用戶界面和后端邏輯,我們都隨時(shí)準(zhǔn)備為您提供支持。請(qǐng)隨時(shí)聯(lián)系我們,讓我們一同打造現(xiàn)代化、高性能的 QML & C++ 項(xiàng)目!
重要說明?
?該專欄在第三代軟開發(fā)更新完將漲價(jià)
Git提交規(guī)范
意外中的意外,在第三代軟件開發(fā)過程中,博主不在一個(gè)人單打獨(dú)斗,終于有了自己的小伙伴。之前自己孤生一人的時(shí)候,Git 的作用僅僅是備份,對(duì)于提交規(guī)范一直也沒有注意。但是有了小伙伴,那就需要稍微規(guī)范一下,以方便后期維護(hù)和Bug定位。目前我們使用的是一個(gè)**Angular的commit message規(guī)范**這里咱們隨便找兩個(gè)文章朝下作業(yè)
抄作業(yè)鏈接:https://blog.csdn.net/Joseph_ZG/article/details/112818937
抄作業(yè)鏈接:https://www.jianshu.com/p/6433679cd10f
分支規(guī)范
分支類型 | 命名規(guī)范 | 創(chuàng)建自 | 合并到 | 說明 |
---|---|---|---|---|
master | master | - | - | 長(zhǎng)期分支,部署到生產(chǎn)環(huán)境中的代碼 |
develop | develop | - | master | 長(zhǎng)期分支,進(jìn)行代碼集成的分支 |
feature | feature/* | develop | develop | 短期分支,新功能分支 |
release | release/* | develop | develop和master | 短期分支,一次新版本的發(fā)布 |
hotfix | hotfix/* | master | develop 和 master | 短期分支,生產(chǎn)環(huán)境中發(fā)現(xiàn)的緊急 bug 的修復(fù),唯一可以直接從master分支fork出來的分支 |
三個(gè)短期分支類型一旦完成開發(fā),它們就會(huì)被合并進(jìn)develop或master,然后被刪除。
分支的名稱應(yīng)該遵循一定的命名規(guī)范,以方便開發(fā)人員識(shí)別。
當(dāng)需要開發(fā)一個(gè)新的功能時(shí),基本的流程如下:
從 develop 分支創(chuàng)建一個(gè)新的 feature 分支,如 feature/my-xxx。
在該 feature 分支上進(jìn)行開發(fā),提交代碼。
當(dāng)代碼提交完成之后,push feature分支到遠(yuǎn)端倉庫。
在gitlab上創(chuàng)建合并請(qǐng)求
Commit Message Format
git commit 規(guī)范對(duì)于團(tuán)隊(duì)協(xié)作和版本控制非常重要。以下是一些 git commit 規(guī)范的重要性:
提高可讀性和可維護(hù)性:使用規(guī)范化的提交消息格式可以增加代碼庫的可讀性和可維護(hù)性。每個(gè)提交都應(yīng)該清晰地描述所做的更改,以便其他開發(fā)人員能夠理解和追蹤代碼的變化。
改進(jìn)代碼審查過程:規(guī)范的提交消息使代碼審查過程更加高效和有意義。代碼審查人員可以更輕松地查看代碼變更的上下文,并提供更準(zhǔn)確的反饋和建議。
方便問題追蹤和版本控制:規(guī)范化的提交消息可以在問題追蹤系統(tǒng)或版本控制工具中更好地關(guān)聯(lián)代碼變更和特定的任務(wù)或錯(cuò)誤。這有助于有效地管理項(xiàng)目中的問題和版本。
促進(jìn)團(tuán)隊(duì)合作:一致的提交消息格式有助于促進(jìn)團(tuán)隊(duì)之間的良好合作。開發(fā)人員可以更容易地理解和解釋彼此的代碼變更,并更好地協(xié)同開發(fā)。
總之,git commit 規(guī)范的重要性在于提高代碼庫的可讀性、可維護(hù)性和協(xié)作效率,使團(tuán)隊(duì)能夠更好地管理和追蹤代碼的變化。
<header>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
每一個(gè)commit message都應(yīng)該包含header,body和footer。其中footer可以省略,但是header和body都不能為空。
Header
Header分為三個(gè)部分type, scope, summary,其中type和summary為必填項(xiàng),scope可以省略,格式如下:
<type>(<scope>): <summary>
Type:
用于說明git commit的類別,只允許使用下面的標(biāo)識(shí)。
- feat: 新功能(feature)。
- fix: 修復(fù)bug,可以是QA發(fā)現(xiàn)的BUG,也可以是研發(fā)自己發(fā)現(xiàn)的BUG。
- docs: 文檔(documentation)。
- style: 格式(不影響代碼運(yùn)行的變動(dòng))。
- refactor: 重構(gòu)(即不是新增功能,也不是修改bug的代碼變動(dòng))。
- perf: 優(yōu)化相關(guān),比如提升性能、體驗(yàn)。
- test: 增加測(cè)試。
- chore: 構(gòu)建過程或輔助工具的變動(dòng)。
- revert: 回滾到上一個(gè)版本。
Scope
Scope用于說明 commit 影響的范圍,比如Controller、DAO、View等等,視項(xiàng)目不同而不同。例如在Angular中可以是:
- animations
- bazel
- benchpress
- common
- compiler
- compiler-cli
- core
- elements
等等,如果其中包含了多個(gè)scope,可以用逗’*‘隔’。
Summary
Summary是對(duì)commit的一個(gè)簡(jiǎn)短的描述,一般Git Commit Head總共不超過50個(gè)字符,所以summary必須精簡(jiǎn)。對(duì)于英文的commit summary,第一,要使用第一人稱,現(xiàn)在時(shí),比如change,不是changed也不是changes,第二,首字母無需大寫,第三,句尾不要標(biāo)點(diǎn)符號(hào)。中文除了時(shí)態(tài),其他也一樣。
根據(jù)上述規(guī)范git commit message header可以如下:
fix(Controller): request url map typo
Body
和Header中的summary一樣。同時(shí)需要解釋提交的動(dòng)機(jī),為什么需要更改,可以和之前的行為進(jìn)行比較,來說明改動(dòng)的影響等等。
Footer
Footer適用于當(dāng)提交的改動(dòng)包含了不可兼容變化或者棄用的變化,Footer部分以BREAKING CHANGE開頭,后面是對(duì)變動(dòng)的描述、以及變動(dòng)理由和遷移方法,同時(shí)可以把相關(guān)Github issue,JIRA ticket或者其他文檔鏈接填入其中
BREAKING CHANGE: <breaking change summary>
<BLANK LINE>
<breaking change description + migration instructions>
<BLANK LINE>
<BLANK LINE>
Fixes #<issue number>
DEPRECATED: <what is deprecated>
<BLANK LINE>
<deprecation description + recommended update path>
<BLANK LINE>
<BLANK LINE>
Closes #<pr number>
Revert
還有一種特殊情況,如果當(dāng)前commit用于撤銷以前的commit,則必須以revert:開頭,后面跟著被撤銷commit的Header。
revert: fix(Controller): request url map typoThis reverts commit {commit hash id}
總結(jié)一下
把這都放在收費(fèi)的文章里面,實(shí)在是可恥,請(qǐng)把可恥打在評(píng)論區(qū),為了整個(gè)項(xiàng)目過程的連貫性,這里暫時(shí)還是吧這個(gè)放在這里,不過也會(huì)放到其他的免費(fèi)轉(zhuǎn)欄里面,不知道能否實(shí)現(xiàn)。
