日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

程序员必备 Git 分支开发规范指南

發布時間:2023/12/10 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 程序员必备 Git 分支开发规范指南 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Git 是目前最流行的源代碼管理工具。為規范開發,保持代碼提交記錄以及 git 分支結構清晰,方便后續維護,現規范 git 的相關操作。

分支管理

分支命名

master 分支

master 為主分支,也是用于部署生產環境的分支,確保master分支穩定性

master 分支一般由develop以及hotfix分支合并,任何時間都不能直接修改代碼

develop 分支

develop 為開發分支,始終保持最新完成以及bug修復后的代碼

一般開發的新功能時,feature分支都是基于develop分支下創建的


feature 分支

開發新功能時,以develop為基礎創建feature分支

分支命名: feature/ 開頭的為特性分支, 命名規則:?

feature/user_module、 feature/cart_module


release分支

release 為預上線分支,發布提測階段,會release分支代碼為基準提測


當有一組feature開發完成,首先會合并到develop分支,進入提測時,會創建release分支。

如果測試過程中若存在bug需要修復,則直接由開發者在release分支修復并提交。當測試完成之后,合并release分支到master和develop分支,此時master為最新代碼,用作上線。


hotfix 分支

分支命名: hotfix/ 開頭的為修復分支,它的命名規則與 feature 分支類似

線上出現緊急問題時,需要及時修復,以master分支為基線,創建hotfix分支,修復完成后,需要合并到master分支和develop分支

常見任務

增加新功能

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

修復緊急bug

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

測試環境代碼

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

生產環境上線

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

推薦一個艿艿寫的 6000+ Star 的 SpringBoot + SpringCloud + Dubbo 教程的倉庫:https://github.com/YunaiV/SpringBoot-Labs

日志規范

在一個團隊協作的項目中,開發人員需要經常提交一些代碼去修復bug或者實現新的feature。而項目中的文件和實現什么功能、解決什么問題都會漸漸淡忘,最后需要浪費時間去閱讀代碼。但是好的日志規范commit messages編寫有幫助到我們,它也反映了一個開發人員是否是良好的協作者。

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

加快review的流程

幫助我們編寫良好的版本發布日志

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

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

推薦一個艿艿寫的 3000+ Star 的 SpringCloud Alibaba 電商開源項目的倉庫:https://github.com/YunaiV/onemall

Commit messages的基本語法

當前業界應用的比較廣泛的是 Angular Git Commit Guidelines

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

具體格式為:

:?type: 本次 commit 的類型,諸如 bugfix docs style 等 scope: 本次 commit 波及的范圍 subject: 簡明扼要的闡述下本次 commit 的主旨,在原文中特意強調了幾點 1. 使用祈使句,是不是很熟悉又陌生的一個詞,來傳送門在此 祈使句 2. 首字母不要大寫 3. 結尾無需添加標點 body: 同樣使用祈使句,在主體內容中我們需要把本次 commit 詳細的描述一下,比如此次變更的動機,如需換行,則使用 | footer: 描述下與之關聯的 issue 或 break change,詳見案例 Type的類別說明:feat: 添加新特性 fix: 修復bug docs: 僅僅修改了文檔 style: 僅僅修改了空格、格式縮進等等,不改變代碼邏輯 refactor: 代碼重構,沒有加新功能或者修復bug perf: 增加代碼進行性能測試 test: 增加測試用例 chore: 改變構建流程、或者增加依賴庫、工具等 Commit messages格式要求#?標題:50個字符以內,描述主要變更內容 # #?主體內容:更詳細的說明文本,建議72個字符以內。?需要描述的信息包括: # 為什么這個變更是必須的? #?*??它可能是用來修復一個bug,增加一個feature,提升性能、可靠性、穩定性等等 #?*?他如何解決這個問題??具體描述解決問題的步驟 #?*?是否存在副作用、風險? # #?如果需要的化可以添加一個鏈接到issue地址或者其它文檔

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

總結

以上是生活随笔為你收集整理的程序员必备 Git 分支开发规范指南的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。