成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

別亂提交代碼了,你必須知道的Git分支開發規范!

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

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

分支命名

1、master 分支

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

2、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分支

常見任務

增加新功能 

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

修復緊急bug 

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

測試環境代碼

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

生產環境上線 

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

日志規范

在一個團隊協作的項目中,開發人員需要經常提交一些代碼去修復bug或者實現新的feature。關注公眾號Java技術棧,在后臺回復 git 可獲取更多 git 教程。

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

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

  •  加快review的流程
  •  幫助我們編寫良好的版本發布日志
  •  讓之后的維護者了解代碼里出現特定變化和feature被添加的原因

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

Commit messages的基本語法

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

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

具體格式為: 

  1. <type><subject>  
  2. <BLANK LINE>  
  3. <body>  
  4. <BLANK LINE>  
  5. <footer> 
  •  type: 本次 commit 的類型,諸如 bugfix docs style 等
  •  scope: 本次 commit 波及的范圍
  •  subject: 簡明扼要的闡述下本次 commit 的主旨,在原文中特意強調了幾點:
    •  使用祈使句,是不是很熟悉又陌生的一個詞
    •  首字母不要大寫
    •  結尾無需添加標點

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

footer: 描述下與之關聯的 issue 或 break change

Type的類別說明

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

Commit messages格式要求 

  1. # 標題行:50個字符以內,描述主要變更內容  
  2.  
  3. # 主體內容:更詳細的說明文本,建議72個字符以內。需要描述的信息包括:  
  4.  
  5. # * 為什么這個變更是必須的? 它可能是用來修復一個bug,增加一個feature,提升性能、可靠性、穩定性等等  
  6. # * 他如何解決這個問題? 具體描述解決問題的步驟  
  7. # * 是否存在副作用、風險?  
  8.  
  9. # 如果需要的化可以添加一個鏈接到issue地址或者其它文檔  

 

責任編輯:龐桂玉 來源: Java技術棧
相關推薦

2021-01-22 05:55:12

GitAngularJStype

2012-09-29 09:22:24

.NETGC內存分配

2012-09-29 10:29:56

.Net內存分配繼承

2017-12-07 15:28:36

2020-07-09 07:34:40

開發Web工具

2011-05-31 14:57:22

開發者PHPJava

2020-02-28 14:05:00

Linuxshell命令

2017-12-07 15:47:25

2022-04-28 09:02:55

Gitcommitlint配置

2021-10-29 08:44:22

推拉機制面試broker

2024-04-08 08:37:41

代碼githook

2015-07-23 10:37:13

Linux命令

2021-03-01 07:34:42

Java泛型ArrayList

2024-03-29 13:17:03

Docker數據卷Volume

2010-04-12 14:58:56

Meego開發

2015-06-29 09:40:10

Rails新特性

2011-11-30 09:09:13

王濤Windows Pho移動開發

2017-10-11 15:50:18

光纖通信傳輸

2019-05-30 08:25:50

5G4G網絡

2016-12-01 14:54:57

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧洲亚洲视频 | 久久精品欧美电影 | 国产黑丝av | 久久国产视频播放 | 高清黄色网址 | 精品国产久| 久久青草av | 日日干夜夜操天天操 | 国产91亚洲精品 | 日本福利片 | 男人久久天堂 | 国产一区二区三区免费 | 影视先锋av资源噜噜 | 欧美日韩看片 | 久久伦理电影 | 中文字幕高清免费日韩视频在线 | 国产精品久久777777 | 国产成人精品一区二三区在线观看 | 国产日韩一区二区三区 | 成人av在线播放 | 综合久久一区 | 中文字幕乱码一区二区三区 | 91亚洲国产成人久久精品网站 | 日韩中文欧美 | 91精品久久 | 免费一级淫片aaa片毛片a级 | 欧美日本一区二区 | 欧美舔穴 | 激情网站| 久久久国产一区二区三区 | 久久久久久亚洲精品 | 日本亚洲精品成人欧美一区 | 国产日韩一区二区三区 | 亚洲乱码一区二区三区在线观看 | 国产.com | 久久99视频免费观看 | 国产欧美在线播放 | 91视频网址 | 懂色tv| 久久久片 | 国产98色在线 | 日韩 |