軟體開發工作流-GitFlow
搞開發的相信大部分人git天天都在用,那麼一般我們在實際工程當中,遵循一個合理、清晰的Git使用流程,是非常重要的。否則,每個人都提交一堆雜亂無章的commit,專案很快就會變得難以協調和維護。那麼是如何來規範整個流程的呢 ;
標準其實很多,這裡我們介紹下Gitflow;
什麼是Gitflow
-
Gitflow是基於Git的強大分支能力所構建的一套軟體開發工作流,最早由Vincent Driessen在2010年提出。最有名的大概是下面這張圖。
那麼針對這個規範我們來看下如何在實際使用中來應用整個流程
1、分支說明
主要分兩種 主分支 和 支援性分支
● 主分支 : 分支目錄為單層,分支永久保留
○ develop : 當 feature branches 開發完成後,提供測試時,請合併到此,此分支不做任何的程式修改和變更集,只接受 master 和 feature branches 的合併
○ master : 永遠處在 production-ready 狀態
● 支援性分支 : 分支層級為雙層,合併後且沒使用可刪除
○ feature branches : 新功能開發,分支的建立都以 master 為來源
○ hotfix branches : 臨時需修改的 bug ,分支的建立都以 master 為來源
○ release branches: 提供 Marketing 測試,預計要上線的版本,分支的建立都以 master 為來源,且在合併要測試的 feature branches,合併完成後請設定 Tag,Tag 的內容為合併的 feature branches
2、分支的來源和合並
● 主分支
○ develop
■ 來源 : master, feature branches
■ 合併 : 無
○ master
■ 來源 : 無
■ 合併 : release branches, develop
● 支援性分支 : 分支層級為雙層
○ feature branches
■ 來源 : master
■ 合併 : release branches, develop
○ hotfix branches
■ 來源 : master
■ 合併 : release branches, develop, master
○ release branches
■ 來源 : master, feature branches
■ 合併 : master
3、支援性分支命名
● feature branches : 依功能命名
○ ex: 開發的新功能為 FeedbackDashboard,請命名為 feature/FeedbackDashboard
● hotfix branches : 依修改的 bug 命名
○ ex: 修改 Invoice 的顯示錯誤,請命名為 hotfix/Invoice
● release branches : 因為合併多個 feature branch,需依日期命名
○ ex: release/20171013
4、分支對應環境
● 主分支
○ develop : 開發環境
○ master : 生產環境
● 支援性分支
○ feature branches : 無
○ hotfix branches : 無
○ release branches : 沙箱環境
5、Git 常用指令
請安裝 Git Windows : https://git-scm.com/download/win
● 分支合併
○ git merge feature/xxx --no-ff
○ :ws!
● 同步遠端分支
○ git remote update
○ git remote update origin --prune
● 加入 dll 到 Git
○ git add xxx.dll -f
● 還原本機所有變更集
○ git reset --hard HEAD~
● 建立 Tag
○ git tag -a tagName
● 同步 Tag 到遠端
○ git push origin tagName
● 查詢 Tag 的內容
○ git show tagName
● 刪除 Tag
○ git push -d origin tagname
○ git -d tagname
相關文章
- Gitflow 工作流程Git
- Gitflow工作流Git
- 企業軟體工作流學習開發實用篇
- 軟體開發:app軟體開發,pc端軟體開發,微商城/小程式開發APP
- GitflowGit
- 軟體測試工作流程
- 工作流開發
- 力軟敏捷開發框架工作流實現技術敏捷框架
- 軟體開發2
- 軟體開發3
- 軟體開發模式模式
- 軟體開發流程
- OA軟體的核心:工作流引擎
- 軟體開發新模式:敏捷開發模式敏捷
- 用開源軟體打造企業級 DevOps 工作流(一):概述dev
- 社交app開發功能,社交軟體開發功能,社交app,社交軟體。APP
- 軟體開發命名指南
- 軟體測試真的比不上軟體開發嗎?
- 力軟敏捷開發框架幫您開發什麼軟體敏捷框架
- 商城軟體開發、開發商城小程式的好處-北京銳智互動軟體開發
- Gitflow分支管理策略Git
- 思泉軟體開發平臺與傳統軟體開發的優勢
- 即拼商城開發軟體
- 物品復活軟體開發
- 軟體開發中的DevOpsdev
- Python能否開發軟體嗎?Python
- 軟體開發者六要
- 工作流引擎Activiti與SpringBoot2整合--開源軟體誕生17Spring Boot
- 嵌入式軟體開發中必備軟體工具
- [轉]GitFlow詳解教程Git
- 微商下單系統開發(開發軟體)
- 淺談軟體開發模型之瀑布開發和敏捷開發模型敏捷
- 工作流引擎你所不知道的事--開源軟體誕生16
- 軟體定製開發的具體作用體現在哪些方面?北京銳智互動軟體開發
- 混合軟體開發角色效果更佳
- 敏捷開發專案管理軟體敏捷專案管理
- 開發方法---軟體生命週期
- 軟體工程開發日記3軟體工程