<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          后端必備 Git 分支開發(fā):規(guī)范指南

          共 2788字,需瀏覽 6分鐘

           ·

          2020-11-11 15:46

          ? ? ?

          ? ?正文? ?



          Git 是目前最流行的源代碼管理工具。為規(guī)范開發(fā),保持代碼提交記錄以及 git 分支結(jié)構(gòu)清晰,方便后續(xù)維護,現(xiàn)規(guī)范 git 的相關(guān)操作。

          分支命名

          master 分支

          master 為主分支,也是用于部署生產(chǎn)環(huán)境的分支,確保master分支穩(wěn)定性
          master 分支一般由develop以及hotfix分支合并,任何時間都不能直接修改代碼

          develop 分支

          develop 為開發(fā)分支,始終保持最新完成以及bug修復(fù)后的代碼
          一般開發(fā)的新功能時,feature分支都是基于develop分支下創(chuàng)建的

          feature 分支

          開發(fā)新功能時,以develop為基礎(chǔ)創(chuàng)建feature分支
          分支命名: feature/ 開頭的為特性分支, 命名規(guī)則: feature/user_module、 feature/cart_module

          release分支

          release 為預(yù)上線分支,發(fā)布提測階段,會release分支代碼為基準(zhǔn)提測
          “當(dāng)有一組feature開發(fā)完成,首先會合并到develop分支,進(jìn)入提測時,會創(chuàng)建release分支。如果測試過程中若存在bug需要修復(fù),則直接由開發(fā)者在release分支修復(fù)并提交。當(dāng)測試完成之后,合并release分支到master和develop分支,此時master為最新代碼,用作上線。

          hotfix 分支

          分支命名: hotfix/ 開頭的為修復(fù)分支,它的命名規(guī)則與 feature 分支類似
          線上出現(xiàn)緊急問題時,需要及時修復(fù),以master分支為基線,創(chuàng)建hotfix分支,修復(fù)完成后,需要合并到master分支和develop分支

          常見任務(wù)

          增加新功能

          (dev)$:?git?checkout?-b?feature/xxx????????????#?從dev建立特性分支
          (feature/xxx)$:?blabla?????????????????????????#?開發(fā)
          (feature/xxx)$:?git?add?xxx
          (feature/xxx)$:?git?commit?-m?'commit?comment'
          (dev)$:?git?merge?feature/xxx?--no-ff??????????#?把特性分支合并到dev

          修復(fù)緊急bug

          (master)$:?git?checkout?-b?hotfix/xxx?????????#?從master建立hotfix分支
          (hotfix/xxx)$:?blabla?????????????????????????#?開發(fā)
          (hotfix/xxx)$:?git?add?xxx
          (hotfix/xxx)$:?git?commit?-m?'commit?comment'
          (master)$:?git?merge?hotfix/xxx?--no-ff???????#?把hotfix分支合并到master,并上線到生產(chǎn)環(huán)境
          (dev)$:?git?merge?hotfix/xxx?--no-ff??????????#?把hotfix分支合并到dev,同步代碼

          測試環(huán)境代碼

          (release)$:?git?merge?dev?--no-ff?????????????#?把dev分支合并到release,然后在測試環(huán)境拉取并測試

          生產(chǎn)環(huán)境上線

          (master)$:?git?merge?release?--no-ff??????????#?把release測試好的代碼合并到master,運維人員操作
          (master)$:?git?tag?-a?v0.1?-m?'部署包版本名'??#給版本命名,打Tag

          日志規(guī)范

          在一個團隊協(xié)作的項目中,開發(fā)人員需要經(jīng)常提交一些代碼去修復(fù)bug或者實現(xiàn)新的feature。

          而項目中的文件和實現(xiàn)什么功能、解決什么問題都會漸漸淡忘,最后需要浪費時間去閱讀代碼。但是好的日志規(guī)范commit messages編寫有幫助到我們,它也反映了一個開發(fā)人員是否是良好的協(xié)作者。

          編寫良好的Commit messages可以達(dá)到3個重要的目的:

          • 加快review的流程

          • 幫助我們編寫良好的版本發(fā)布日志

          • 讓之后的維護者了解代碼里出現(xiàn)特定變化和feature被添加的原因

          目前,社區(qū)有多種 Commit message 的寫法規(guī)范。來自Angular 規(guī)范是目前使用最廣的寫法,比較合理和系統(tǒng)化。如下圖:

          Commit messages的基本語法

          當(dāng)前業(yè)界應(yīng)用的比較廣泛的是 Angular Git Commit Guidelines

          https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines

          具體格式為:

          <type>:?




          type: 本次 commit 的類型,諸如 bugfix docs style 等

          scope: 本次 commit 波及的范圍

          subject: 簡明扼要的闡述下本次 commit 的主旨,在原文中特意強調(diào)了幾點:

          1. 使用祈使句,是不是很熟悉又陌生的一個詞

          2. 首字母不要大寫

          3. 結(jié)尾無需添加標(biāo)點

          body: 同樣使用祈使句,在主體內(nèi)容中我們需要把本次 commit 詳細(xì)的描述一下,比如此次變更的動機,如需換行,則使用 |

          footer: 描述下與之關(guān)聯(lián)的 issue 或 break change

          Type的類別說明:

          • feat: 添加新特性
          • fix: 修復(fù)bug
          • docs: 僅僅修改了文檔
          • style: 僅僅修改了空格、格式縮進(jìn)、都好等等,不改變代碼邏輯
          • refactor: 代碼重構(gòu),沒有加新功能或者修復(fù)bug
          • perf: 增加代碼進(jìn)行性能測試
          • test: 增加測試用例
          • chore: 改變構(gòu)建流程、或者增加依賴庫、工具等

          Commit messages格式要求

          #?標(biāo)題行:50個字符以內(nèi),描述主要變更內(nèi)容
          #
          #?主體內(nèi)容:更詳細(xì)的說明文本,建議72個字符以內(nèi)。?需要描述的信息包括:
          #
          #?*?為什么這個變更是必須的??它可能是用來修復(fù)一個bug,增加一個feature,提升性能、可靠性、穩(wěn)定性等等
          #?*?他如何解決這個問題??具體描述解決問題的步驟
          #?*?是否存在副作用、風(fēng)險?
          #
          #?如果需要的化可以添加一個鏈接到issue地址或者其它文檔


          源:cnblogs.com/heroljy/p/9294127.html

          版權(quán)申明:內(nèi)容來源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。除非無法確認(rèn),我們都會標(biāo)明作者及出處,如有侵權(quán)煩請告知,我們會立即刪除并表示歉意。謝謝!





          感謝閱讀



          瀏覽 63
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本性爱一二三区 | 日韩国产欧美黄色一级大片 | 影音先锋亚洲天堂 | 啊啊啊操我视频在线播放 | 四虎成人无码影院 |