項目負責人建立dev分支供團隊開發人員圍繞它進行相關操做git
git branch dev
git push -u origin dev
複製代碼
其餘人clone,建立一個dev的軌跡版本github
git clone git@github.orgXXXXXXXX
git checkout -b dev origin/dev
複製代碼
dev這個分支將包含項目的完整歷史記錄,而master僅包含縮略版本。web
1.新建feature分支bash
在dev基礎上建立新分支:測試
git checkout -b feature/demo dev
複製代碼
推到遠程,(而後這部分新功能代碼就提交到這個上)ui
git push
複製代碼
全部開發此新功能的人員,都在這個分支上開發提交代碼spa
git status
git add
git commit -m "Add some-file."
複製代碼
2.完成新功能開發(合併feature分支到dev上去)3d
git pull origin dev
git checkout dev
git merge feature/demo
git push
git branch -d feature/demo
複製代碼
注意code
3.測試環境發佈dev分支代碼(提交測試)cdn
(1)從dev中建立發佈的release分支
當主測試流程完成,源碼已經趨於穩定,準備一個發佈版本(確立版本號),並推到遠程
git checkout -b release-1.0 dev
git push
複製代碼
這個分支是清理準備發佈、 總體迴歸測試、 更新文檔,和作其餘任何系統即將發佈的事情。
(2)開發交代碼改bug
(3)release分支合併到master和dev
一旦已經知足發佈條件(或已經到了預約發佈日期),應該把release分支合併到master分支和dev分支中,而後,使用master發佈新版本。合併release分支到dev分支是很重要的,要讓release上修改的東西能在後續的開發分支中生效。
master
git checkout master
git merge release-1.0
git push
複製代碼
dev
git checkout develop
git merge release-1.0
git push
git branch -d release-1.0
複製代碼
(4)打標籤
Release分支在功能開發分支(dev)和公共發佈版(master)中,充當一個緩衝的做用。每當有源碼合併到master中的時候,應該在master上打一個標籤,以便後續跟蹤查閱。
git tag -a 1.0.RELEASE -m "Initial public release" master
git push --tags
複製代碼
當用戶反饋系統有bug,需從master基礎上建立並維護hotfix新分支,解決完在合併回master
(1)建立hotfix
git checkout -b issue-#001 master
複製代碼
(2)修復
(3)完成後合併到master發佈
git checkout master
git merge issue-#001
git push
複製代碼
(4)打標籤
(5)合併到dev
git checkout develop
git merge issue-#001
git push
複製代碼
三.小結