<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

git commit代碼提交規范

技術讓夢想更偉大 ? 來源:稀土掘金技術社區 ? 2023-12-19 09:45 ? 次閱讀

1、前言

寫好git commit提交有什么好處呢?

查看提交的log也非常的優雅,這個就不多提了

方便查找日志記錄,通過簡單的過濾便能定位到具體想要查找的log

方便問題回溯,通過git log就能查找到當時提交的代碼文件,以及修改的代碼

其實如果使用過github的release, 可以直接根據feat和fix來過濾提取日志發布版本

接下來我就來實踐一下,首先我這里使用的是pnpm安裝依賴的。今天主要是在提交代碼時稍微自動化一點,并且讓提交規范統一一些。

具體操作的源碼項目github.com/aehyok/taro…[1]

2、commitizen插件

pnpmicommitizen-D

此時我們先git add .,然后就可以使用一下git cz,所以現在可以直接在package.json中添加一個scripts

//&&代表`gitadd.和`gitcz`兩個指令串行執行,
//先執行前一個,執行完后再執行后一個
"git":"gitadd.&&gitcz"

那么接下來直接執行 pnpm git

a64d757e-9e02-11ee-8b88-92fbcf53809c.jpg

輸入commit的提交信息,保存,關閉小窗,因為我這里用的是gitExtensions圖形操作程序,隨后git push提交即可,但是這樣其實只是換了一個命令而已,并沒有什么實質性的改變。那接下來就讓它改變一下吧

3、cz-customizable設置提交模板

pnpmicz-customizable-D

安裝完之后在package.json中添加如下節點

"config":{
"commitizen":{
"path":"node_modules/cz-customizable"
}
},

同時可以再根目錄創建.cz-config.js,這里有一份官網提供的模板github.com/leoforfree/…[2]

下面這個是我自己修改后的提交模板

module.exports = {
  // type 類型(定義之后,可通過上下鍵選擇)
  types: [
    { value: 'feat', name: 'feat:     新增功能' },
    { value: 'fix', name: 'fix:      修復 bug' },
    { value: 'docs', name: 'docs:     文檔變更' },
    {
      value: 'style',
      name: 'style:    代碼格式(不影響功能,例如空格、分號等格式修正)'
    },
    {
      value: 'refactor',
      name: 'refactor: 代碼重構(不包括 bug 修復、功能新增)'
    },
    { value: 'perf', name: 'perf:     性能優化' },
    { value: 'chore', name: 'chore:     其他修改, 比如構建流程, 依賴管理、版本好修正.' }
  ],

  // scope 類型(定義之后,可通過上下鍵選擇)
  scopes: [
    ['components', '組件相關'],
    ['hooks', 'hook 相關'],
    ['utils', 'utils 相關'],
    ['element-ui', '對 element-ui 的調整'],
    ['styles', '樣式相關'],
    ['deps', '項目依賴'],
    ['auth', '對 auth 修改'],
    ['other', '其他修改'],
    // 如果選擇 custom,后面會讓你再輸入一個自定義的 scope。也可以不設置此項,把后面的 allowCustomScopes 設置為 true
    ['custom', '以上都不是?我要自定義']
  ].map(([value, description]) => {
    return {
      value,
      name: `${value.padEnd(30)} (${description})`
    }
  }),

  // 是否允許自定義填寫 scope,在 scope 選擇的時候,會有 empty 和 custom 可以選擇。
  // allowCustomScopes: true,

  // allowTicketNumber: false,
  // isTicketNumberRequired: false,
  // ticketNumberPrefix: 'TICKET-',
  // ticketNumberRegExp: '\d{1,5}',

  // 針對每一個 type 去定義對應的 scopes,例如 fix
  /*
    scopeOverrides: {
      fix: [
        { name: 'merge' },
        { name: 'style' },
        { name: 'e2eTest' },
        { name: 'unitTest' }
      ]
    },
    */

  // 交互提示信息
  messages: {
    type: '確保本次提交遵循:前端代碼規范!
選擇你要提交的類型:',
    scope: '
選擇一個 scope(可選):',
    // 選擇 scope: custom 時會出下面的提示
    customScope: '請輸入自定義的 scope:',
    subject: '填寫簡短精煉的變更描述:
',
    body: '填寫更加詳細的變更描述(可選)。使用 "|" 換行:
',
    breaking: '列舉非兼容性重大的變更(可選):
',
    footer: '列舉出所有變更的 ISSUES CLOSED(可選)。例如: #31, #34:
',
    confirmCommit: '確認提交?'
  },

  // 設置只有 type 選擇了 feat 或 fix,才詢問 breaking message
  allowBreakingChanges: ['feat', 'fix'],

  // 跳過要詢問的步驟
  skipQuestions: ['scope', 'body', 'breaking', 'footer'],

  subjectLimit: 100, // subject 限制長度
  breaklineChar: '|' // 換行符,支持 body 和 footer
  // footerPrefix : 'ISSUES CLOSED:'
  // askForBreakingChangeFirst : true,
}

運行 pnpm git

a65df606-9e02-11ee-8b88-92fbcf53809c.jpg

根據指引提示,然后輸入提交信息,推送到服務器就完成了,查看git log可以發現

4、總結

其實還可以將腳本修改一下

"git":"gitadd.&&gitcz&&gitpush"

這樣三個指令會串行執行,一個接著一個執行,如果提交沒什么問題的話,很自然就推送到遠端了。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 指令
    +關注

    關注

    1

    文章

    580

    瀏覽量

    35413
  • 源碼
    +關注

    關注

    8

    文章

    586

    瀏覽量

    28683
  • 代碼
    +關注

    關注

    30

    文章

    4575

    瀏覽量

    67135
  • Git
    Git
    +關注

    關注

    0

    文章

    195

    瀏覽量

    15475

原文標題:天天提交代碼,git commit 能規范一下嗎?

文章出處:【微信號:技術讓夢想更偉大,微信公眾號:技術讓夢想更偉大】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    git shell 常用命令

    git branch 查看本地所有分支git status 查看當前狀態 git commit 提交 g
    發表于 04-16 15:57

    開發者必備的8 個 git 小技巧

    git 已經成為了我日常必備工具之一,我總結我幾乎每天使用的8個有用(且簡潔)的小技巧。使用-p選擇性添加當你想提交內容時,你可以通過使用 git commit -am 來選擇所有文件
    發表于 07-05 10:30

    Git 常用命令大全

    status 查看當前狀態 git commit 提交 git branch -a 查看所有的分支git branch -r 查看本地所有
    發表于 10-11 17:23

    git之推送提交

    下文章:git創建倉庫,并提交代碼(第一次創建并提交)以及updates were rejected because the tip of your current branch is behind its
    發表于 12-17 09:20

    Git工程實踐(一)巧用commit message

    api.#- add xxx api.2.編輯.gitconfig文件,新增.gitmessage模版配置。[commit]template = ~/.gitmessage后續在提交代碼時候(使用git
    發表于 05-03 17:30

    如何跟遠程倉庫一起協作提交代碼

    協作,教你們向 GitHub 上提交你們的第一行代碼! 1. SSH 你擁有了一個 GitHub 賬號之后,就可以自由的 clone 或者下載其他項目,也可以創建自己的項目,但是你沒法提交代碼。仔細想想也知道,肯定不可能隨意就能
    發表于 10-10 11:39 ?0次下載
    如何跟遠程倉庫一起協作<b class='flag-5'>提交代碼</b>

    教你20分鐘搞懂Git!

    在上述代碼中,在提交時你需要提供提交的描述,而且你可以通過echo "first commit"提供提交描述。
    的頭像 發表于 12-12 09:48 ?2982次閱讀

    45個日常用git代碼的經典操作場景

    如果你用 git commit -a 提交了一次變化(changes),而你又不確定到底這次提交了哪些內容。你就可以用下面的命令顯示當前HEAD上的最近一次的
    的頭像 發表于 04-13 10:39 ?801次閱讀

    45個Git經典操作場景

    如果你用 git commit -a 提交了一次變化(changes),而你又不確定到底這次提交了哪些內容。你就可以用下面的命令顯示當前HEAD上的最近一次的
    的頭像 發表于 01-06 15:29 ?465次閱讀

    Git是怎樣的一個系統 Git的工作原理

    執行完成了 git commit 命令,究竟做了什么呢? Git 倉庫中的提交記錄保存的是你的目錄下所有文件的快照,就像是把整個目錄復制,然后再粘貼一樣,但比復制粘貼優雅許多!
    發表于 02-22 10:41 ?248次閱讀

    git多個commit合并成一個commit

    在使用git做版本管理器的時候,有時候需要將多個commit合并成一個commit,因此這里記錄下具體的操作方法,便于查閱。
    的頭像 發表于 05-06 15:49 ?2166次閱讀
    <b class='flag-5'>git</b>多個<b class='flag-5'>commit</b>合并成一個<b class='flag-5'>commit</b>

    git rebase和git merge的區別

    "origin"已經有了 2 個提交,如圖。 現在我們在這個分支做一些修改,然后生成兩個提交(commit)。 ? $?vi?file.txt$?git?
    的頭像 發表于 07-05 09:54 ?431次閱讀
    <b class='flag-5'>git</b> rebase和<b class='flag-5'>git</b> merge的區別

    git中如何查看提交歷史

    查看提交歷史 在提交了若干更新,又或者克隆了某個項目之后,你也許想回顧下提交歷史。完成這個任務最簡單而又有效的工具是 git log 命令。 我們使用一個非常簡單的 “simplegi
    的頭像 發表于 07-22 11:21 ?759次閱讀
    <b class='flag-5'>git</b>中如何查看<b class='flag-5'>提交</b>歷史

    git基本操作命令用法

    基本用法 上面的四條命令在工作目錄、暫存目錄(也叫做索引)和倉庫之間復制文件。 git add files把當前文件放入暫存區域。 git commit給暫存區域生成快照并提交。
    的頭像 發表于 09-13 16:29 ?605次閱讀
    <b class='flag-5'>git</b>基本操作命令用法

    45個Git經典操作場景,助你一臂之力

    如果你用 git commit -a 提交了一次變化(changes),而你又不確定到底這次提交了哪些內容。你就可以用下面的命令顯示當前HEAD上的最近一次的
    的頭像 發表于 09-23 11:11 ?379次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>