gitflow 為不同的分支分配乙個很明確的角色,並定義分支之間如何和什麼時候進行互動。分別有歷史分支、功能分支、發布分支和維護分支。
使用兩個分支來記錄專案的歷史。
master分支記錄了正式發布的歷史,而develop分支作為功能的整合分支。因此,master分支的每次提交都應分配乙個版本號。
功能分支是從develop中checkout出來的新分支,每個功能對應乙個分支。
首先保證當前專案具有develop開發分支。
檢視當前的本地分支:
$ git branch
b bug
* develop
master
release
檢視當前的全部分支:$ git branch -a
b bug
* develop
master
release
remotes/origin/develop
remotes/origin/master
remotes/origin/release
帶有遠端字樣「remotes」就是遠端的分支
$ git checkout -b 'develop'
switched to a new branch 'develop'
1.假設開發a功能:git checkout -b feature-a develop
2.當新功能完成時,合併回develop分支。git checkout develop
git merge --no-ff feature-a
git push
git branch -d feature-a
1.當develop分支開發到需要發布時,從develop分支拉出乙個發布分支,命名為release-或release/。
git checkout -b release-0.1 develop
2.該分支用於發布迴圈,只做bug修復、文件生成等面向發布的任務。新功能不再新增到這個分支上。
3.一旦發布完成,把發布分支merge到master分支上。
git checkout master
git merge --no-ff release-0.1
git push
4.打tag記錄版本號,方便跟蹤每次發布。
git tag -a 0.1 -m "release 0.1 publish" master
git push --tags
5.把這些從新建發布分支以來做的修改merge到develop分支。
git checkout develop
git merge --no-ff release-0.1
git push
6.最後刪除發布分支
git branch -d release-0.1
當線上版本出現bug時,就需要用到維護分支,它用於快速給產品發布版本打補丁。
1.從master分支拉乙個維護分支(這是唯一從master分支拉出來的分支)。
git checkout -b hotfix master
2.修復完成後,馬上合併回master和develop。
git checkout master
git merge --no-ff hotfix
git push
git checkout develop
git merge --no-ff hotfix
git push
git branch -d hotfix
3.master用新版本號打tag。
git tag -a 0.2 -m "release 0.2 publish" master
git push --tags
Git工作流概述
基於master分支開發 流程 建立origin master分支 協作開發者a b把origin master 分支clone到本地 協作開發者a b在本地master分支進行開發 a開發完push到遠端master分支 b開發完push到遠端master分支 衝突處理 push時本地 與遠端ma...
Git 工作流簡介
工作流有各式各樣的用法,但也正因此使得在實際工作中如何上手使用增加了難度。這篇指南通過總覽公司團隊中最常用的幾種 git 工作流讓大家可以上手使用。如果你的開發團隊成員已經很熟悉 subversion,集中式工作流讓你無需去適應乙個全新流程就可以體驗 git 帶來的收益。這個工作流也可以作為向更 g...
我們的GIT工作流
dev合併到master觸發ci,預發布 下一次迭代功能,也即本次不上線,超前開發的功能,使用feature,注意使用以下命令合併 git merge no ff複製 線上bug使用hotfix修復,合併回prod及dev分支基於現在的情況與我們團隊習慣,約定可能存在的git分支如下 prod 用於...