在用git進行web開發的工作流程之後,我一直被委託在最後一秒添加一個臨時服務器。我們在本地進行開發/測試並推出回購協議,現在需要在兩者之間建立一個沙箱,以便其他部門的人員可以在周圍玩耍並嘗試新東西而不會破壞內容。部署git分支
遠程回購需要兩個長期運行的分支(本着nvie分支模式的精神),掌握和發展。
我們需要能夠推到一個回購協議,並檢出開發分支test.site.com文檔根目錄,並在準備好時,合併發展成主機和結賬掌握到site.com文檔根目錄
所以上服務器...
git init
git add .
git commit -m "Initial commit"
git checkout -b "develop"
而且我們本地機器...
git clone [email protected]:/repos/repo1.git
???
git push origin/develop (??? Updates test.site.com docroot)
而回服務器,以使代碼直播
git checkout "master"
git merge develop (??? Updates site.com docroot)
git checkout -b "develop"
和當地
git pull
幫助與讚賞問號或其他建議。
編輯: 正在嘗試一些迄今爲止的答案。在過渡時間裏想出了一個徹頭徹尾的想法,並認爲我會分享:
一個post-receive hook來統治它們。
我們克隆裸露的回購和跟蹤發展。推動發展/發展。
後接受 - 設置GIT_WORK_TREE到test.site.com,結賬-f發展
如果提交信息中包含 「merge_master」,設置GIT_WORK_TREE到文檔根目錄site.com,
git checkout master
git merge develop
git checkout -f master (this would be for hotfixes)
合併掌握本地發展和拉動
在塵埃落定之後,發送電子郵件difflog,擰你的手,並have一口強。
有多少種不同的方式可以打破?
你見過嗎? http://nvie.com/posts/a-successful-git-branching-model/ – kan
是的,這實際上是我最初被介紹給git的。分支不像現在部署那樣是個問題。我確實喜歡兩個長期運行的分支的核心思想。 – James