2012-02-09 169 views
3

我對版本控制非常新,如果可能的話,我希望有一些幫助。本地,測試和生產版本控制

我想知道,這是控制3對開發環境的最佳途徑:發展>測試>生產

  • 發展(本地主機環境) - 開發正在這裏所做的一切工作之前的任何上傳
    • 工作在特定項目的Every1應該有一個克隆這個文件夾(每個合作者,其用戶,如果可能的話),用戶每次推送都會發送到這裏,開發pment文件夾。
  • 測試 - 應該是包含由發展並自動使用FTP子站點testing,或任何協議同步推送的數據的克隆文件夾。
  • 生產是生動的網站,發佈穩定的更新。
    • 它應該是的克隆測試,還是推測試應該在這裏上傳數據?

怎麼樣的衝突問題,當用戶按下文件/ s的其他用戶有什麼不同的推1分鐘前?當然可以有任務分離,每個都做某些事情,但如果不是,如果X提交submit.php並且Y也在1分鐘之前提交submit.php會怎麼樣?

哪種版本控制軟件最適合?

回答

3

如果按照DVCS(Distributed Version Control System),like Git來翻譯它,則每個「文件夾」都可以是代碼存儲庫的實際克隆。

這意味着你:

  • 會從當地的發展推到「development」回購
  • 將從「development」推到「testing」(或更好,但對「測試任務「負責拉動development「並觸發一些測試是否有任何新提交檢測
  • 將從推」 testing「(如果測試是確定),以生產

另外,您不會接受非遠程回購非fast-forward update,這意味着任何衝突將在被推送之前先在本地解決。

+0

+1,有趣...我會查看鏈接 – Alex 2012-02-10 09:17:35

1

如果你有一個龐大的團隊,Git是非常棒的,但是恕我直言Subversion(SVN)更容易學習,並且仍然提供了一套很好的核心功能來處理你的需求。處理上述需求的常用方法是創建一個名爲'trunk','branches'和'tags'的三個文件夾的Subversion版本庫。

  • 開發:發生在'trunk'子目錄中。
  • 預發佈測試:發生在智能命名的「分支」子目錄中,例如'RC1-test'
  • 穩定釋放維護:在'tags'的版本標籤子目錄中發生,例如, '2.0'

基本上,所有這些子目錄都可以通過SVN導出命令創建。