我的公司以下最靠近this blog。我們創建主分支生產。 我的情況是用於web開發。
步驟我們做的是
開發叉的特性/錯誤,從主
git checkout -b feature/featureA
git checkout -b bug/B
用這種方式,我們將得到新鮮的代碼已經在釋放行。在升級服務器上,我們使用測試分支。所以,當任何功能需要去測試,它會合併到分支
在臨時服務器,我們使用
git checkout testing
git pull
有發佈分支處理燙,每燙將合併到這在合併到主人之前的分支。這個想法是,發佈分支會包裝一些提交前合併掌握其如果出現問題,它只是用命令一樣
git reset --hard HEAD^
臨時。
讓看到我的完整的工作步驟
git checkout master # Go to Master
git checkout -b feature/New # New branch
電子郵件來自老闆來解決嚴重的bug
git stash
git checkout master
git checkout -b hotfix/a
做事
git commit
git checkout release
git merge hotfix/a
git checkout master
git merge release # In case that you want to pack all ready to production
在生產
git tag -d previous
git tag previous
git pull
哎呀!不工作
git checkout previous
新的提交合並
git checkout master
git pull
繼續我的工作
git checkout feature/New
git stash pop #Restore workspace
git commit
git checkout testing # ready to mix a test
git merge feature/New
準備釋放功能
git checkout release
git merge feature/New
這是BEC在測試分支中準備部署所有的東西。所以,當合並所有就緒功能版本分支,現在,你可以做最後的測試。
當一切現在去生產,我們做
git checkout testing
git merge master
git checkout release
git merge master
自動化腳本
我覺得你可以考慮爲.git/hooks/post-commit.sample
聯播一些腳本,你提交的代碼後?無論如何,我從來沒有使用它。
感謝你們,我根據你的帖子和你鏈接到的博客做了一些調整。 – iKode