玩转git-flow工作流-分支解析
概述
搞開發(fā)的相信大部分人git天天都在用,那么一般我們在實際工程當(dāng)中,遵循一個合理、清晰的Git使用流程,是非常重要的。否則,每個人都提交一堆雜亂無章的commit,項目很快就會變得難以協(xié)調(diào)和維護。那么是如何來規(guī)范整個流程的呢 ;
標(biāo)準(zhǔn)其實很多,這里我們介紹下Gitflow;
什么是Gitflow
Gitflow是基于Git的強大分支能力所構(gòu)建的一套軟件開發(fā)工作流,最早由Vincent Driessen在2010年提出。最有名的大概是下面這張圖。
那么針對這個規(guī)范我們來看下如何在實際使用中來應(yīng)用整個流程
分支說明
主要分兩種 主分支 和 支援性分支
●???? 主分支 : 分支目錄為單層,分支永久保留
○???? develop : 當(dāng) feature branches 開發(fā)完成后,提供測試時,請合并到此,此分支不做任何的程序修改和變更集,只接受 master 和 feature branches 的合并
○???? master : 永遠處在 production-ready 狀態(tài)
●???? 支援性分支 : 分支層級為雙層,合并后且沒使用可刪除
○???? feature branches : 新功能開發(fā),分支的建立都以 master 為來源
○???? hotfix branches : 臨時需修改的 bug ,分支的建立都以 master 為來源?
○???? release branches: 提供 Marketing 測試,預(yù)計要上線的版本,分支的建立都以 master 為來源,且在合并要測試的 feature branches,合并完成后請設(shè)定 Tag,Tag 的內(nèi)容為合并的 feature branches
分支的來源和合并
●???? 主分支
○???? 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
?
支援性分支命名
●???? feature branches : 依功能命名
○???? ex: 開發(fā)的新功能為 FeedbackDashboard,請命名為 feature/FeedbackDashboard
●???? hotfix branches : 依修改的 bug 命名
○???? ex: 修改 Invoice 的顯示錯誤,請命名為 hotfix/Invoice
●???? release branches : 因為合并多個 feature branch,需依日期命名
○???? ex: release/20171013
?
分支對應(yīng)環(huán)境
●????主分支
○???? develop : 開發(fā)環(huán)境
○???? master : 生產(chǎn)環(huán)境
●???? 支援性分支
○???? feature branches : 無
○???? hotfix branches : 無
○???? release branches : 沙箱環(huán)境
?
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 的內(nèi)容
○???? git show tagName
●???? 刪除 Tag
○???? git push -d origin tagname
○???? git -d tagname
總結(jié)
以上是生活随笔為你收集整理的玩转git-flow工作流-分支解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 灵魂拷问:你和大佬,技术差距有多大?
- 下一篇: 引入Jaeger——使用