2013-05-19 18 views
0

我繼承了一個水銀系統的一個基本的網站,但我是新來的水銀和,直到我們找到了別人很多比我更勝任我只是臨時用地保姆。但與此同時,我可以使用指針來說明如何讓我們的功能開發與快速修復錯誤分開。簡單善變Webdev的回購設置:功能與修復

目前,我們有3個基本環境:個人開發環境,分期和生產。每個環境都有自己的本地Mercurial回購。一個bitbucket回購作爲每個環境推動和拉回的主回購。

問題是,當某人正在代碼,但尚未完成則需要提交一個需要快速部署的快速錯誤修復。如果開發商已承諾修改未完成的代碼並提交快速bug修復和做一推,所有的代碼進入到位桶回購。

由什麼我到目前爲止研究來看,我可以用開發到位桶回購(較慢的發展)和「穩定」的到位桶回購獲得通過(對於現在需要發生修復)

在這在我們的開發機器上,我們會在我們的本地dev dev repo中執行大部分較慢的開發代碼,這些代碼將從本地穩定的repo中克隆。當我們想分享未完成的代碼時,我們會推/拉到bitbucket dev。其他開發人員可以將其從本地開發人員推送到bitbucket開發人員,以保持其本地開發環境同步或合併代碼。

當我們準備將它推到生產,我們會推動我們的開發環境的代碼到主到位桶,然後把它變成分期進行測試。如果它看起來不錯,我們會將bitbucket主要回購合併到生產中。後來,我們就拉到位桶主要回購到我們個人的穩定回購,以保持同步,然後從個人主倉庫拉入個人開發回購來獲取同步。

如果我們在不完整的代碼在我們的開發環境中間,但必須迅速做出一些bug修復。我們會做我們的個人穩定的回購應該是自由的任何不完整代碼的bug修正,推動當地的回購協議到位桶穩定,然後將其拉入生產。然後,我們將bitbucket穩定地放入我們的個人開發環境中,以保持與生產同步,但仍保留未完成的代碼。

感覺就像有這樣做,我不是理解的簡單的方法。任何建議將不勝感激。

回答

2

問題是當有人正在處理尚未完成的代碼但需要提交需要快速部署的快速錯誤修復時。

這是使用過的工作流程和(缺失)管理的問題,抱歉。我看到目前狀態下至少有3個弱點

  • (無關)爲什麼3回購而不是具有特殊命名分支的單個回購?
  • 爲什麼,帶開關的任務作風,MQ extension不作爲強制性的工具?
  • 爲什麼所有的發展發生在默認分支,命名爲分支不使用?

我,在這種情況下,將評估兩種可能的方法和測試任何後實現PM(或兩者結合的)

  • MQ擴展單分支模式必須用於任何 WIP。
  • 單分支模式被「分支每任務」工作流程取代(任何任務 - 開發者回購中的新命名分支,合併後的默認值),默認推送模式「所有分支」替換爲「僅推送指定分支」:僅在單獨回購時使用...-b default,單個回購時使用-b default -b STAGING -b PROD,每個目標使用單獨分支/ DEVEL,STAGING,PROD /。在-b的情況下,只有選定的分支和來自另一個命名分支(即合併分支)的這些分支的變更集的父母將被推向公衆,未完成(並且未合併)的分支將保留在本地
+0

謝謝。你的弱點部分是我主要尋找的。它有助於更​​好地表達問題,從而幫助我進行更精確的研究或尋求幫助。 – monkeylytics