Git 是目前最流行的源代碼管理工具。 爲規範開發,保持代碼提交記錄以及 git 分支結構清晰,方便後續維護,現規範 git 的相關操做。html
master 分支git
develop 分支github
feature 分支web
release分支segmentfault
當有一組feature開發完成,首先會合併到develop分支,進入提測時,會建立release分支。
若是測試過程當中若存在bug須要修復,則直接由開發者在release分支修復並提交。
當測試完成以後,合併release分支到master和develop分支,此時master爲最新代碼,用做上線。
hotfix 分支bash
增長新功能運維
(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
修復緊急bugide
(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,而後在測試環境拉取並測試
生產環境上線post
(master)$: git merge release --no-ff # 把release測試好的代碼合併到master,運維人員操做
(master)$: git tag -a v0.1 -m '部署包版本名' #給版本命名,打Tag
在一個團隊協做的項目中,開發人員須要常常提交一些代碼去修復bug或者實現新的feature。而項目中的文件和實現什麼功能、解決什麼問題都會漸漸淡忘,最後須要浪費時間去閱讀代碼。可是好的日誌規範commit messages編寫有幫助到咱們,它也反映了一個開發人員是不是良好的協做者。
編寫良好的Commit messages能夠達到3個重要的目的:
目前,社區有多種 Commit message 的寫法規範。來自Angular 規範是目前使用最廣的寫法,比較合理和系統化。以下圖:
當前業界應用的比較普遍的是 Angular Git Commit Guidelines
具體格式爲:
<type>: <subject> <BLANK LINE> <body> <BLANK LINE> <footer>
Type的類別說明:
# 標題行:50個字符之內,描述主要變動內容 # # 主體內容:更詳細的說明文本,建議72個字符之內。 須要描述的信息包括: # # * 爲何這個變動是必須的? 它多是用來修復一個bug,增長一個feature,提高性能、可靠性、穩定性等等 # * 他如何解決這個問題? 具體描述解決問題的步驟 # * 是否存在反作用、風險? # # 若是須要的化能夠添加一個連接到issue地址或者其它文檔
連接:https://juejin.im/post/5b4328bbf265da0fa21a6820