1. 開發首先拉取最新的master分支
git checkout master#轉到開發的master分支上
git pull —rebase #拉取服務器上的最新內容
2. 於建立本地開發分支FeatureA:
git checkout -b FeatureA
3. 該功能的開發負責人將本地分支FeatureA推送到服務器,供其他參與開發的人員使用
git push origin FeatureA:FeatureA
其他開發人員使用如下命令獲取建立好的FeatureA分支:
git branch –track FeatureA origin/FeatureA
git checkout FeatureA
4. 開發人員在FeatureA這個分支上共同工作(pull/push等)。功能完成,通知測試。
5. 測試人員在QATEST上獲取該開發分支
git branch–track FeatureA origin/FeatureA
git checkout FeatureA
git pull
6. 如果沒有通過測試,通知開發人員,開發繼續在FeatureA上debug,回到第4步。
7. 如果通過測試。開發人員需要將代碼提交到master上
git checkout master#首先需要將本地的master分支同步到服務器上最新內容
git pull –rebase
git checkout FeatureA#回到本地FeatureA分支
git rebase master#將master分支上的最新內容合併到功能開發分支。如果rebase過程中出現衝突,開發人員解決衝突。合併完成後需要開發人員自行測試一下,以確認合併中沒有引起什麼問題
git push #更新合併後的本地FeatureA分支到服務器。
git checkout master#切換到master分支
git merge FeatureA#合入FeatureA的內容
git push#更新合併後的本地master分支到服務器,通知測試該功能最後一次提交的commit ID
8. 測試在QATEST上,拉取master上最新內容。並檢出FeatureA的commits
git checkout master
git pull —rebase
git checkout -b FeatureA <commit ID>
9. 測試獲取最新的release分支內容。合併入FeatureA內容。進行測試
git checkout release#同步服務器上最新的release內容到本地release分支
git pull –rebase
git merge FeatureA#合入FeatureA的commits到本地release分支
10. 通過後,測試提交到release分支,通知部署。如果沒有通過,回到第6步
git push