存儲庫組織
回答
看到這兩個問題上的SO瞭解更多信息:
我做什麼,通常會看到一個標準是:
樹幹應該包含你的主要發展路線,你的不穩定版本。 您應該爲您的版本創建發佈分支。
喜歡的東西:
/中繼線(這裏你正在開發2.0版) /branches/RB-1.0(這是1.0發佈分支) /branches/RB-1.5
當你在1.5中找到一個bug,將其修復到RB分支中,然後合併到主幹。我也推薦this book。
Eric擁有一系列關於源代碼管理使用和組織最佳實踐的優秀系列文章。 Chapter 7 deals with branches(是的,它建議您建議/ trunk /和/ branches /目錄)。
我已經使用Perforce很長一段時間了,所以我的評論可能會以Perforce爲中心,但基本原則適用於任何具有一半體面分支的SCM軟件。 我是一個非常堅信使用分支開發實踐的人。我有一個「主」(又名「主線」),代表從現在到永恆的代碼庫。目標是在大多數情況下,這是穩定的,如果推動推進,您可以在任何時候削減發佈,以反映系統的當前功能。那些討厭的銷售人員不斷詢問......
開發發生在從MAIN分支的分支(通常 - 偶爾你可能想從現有的開發分支分支)。儘可能多地從MAIN集成到您的開發分支,以防止事態分化過度 - 或者您可以稍後爲更大的集成時間預算。只有當你確信它將在即將發佈的版本中發佈時,才能將你的屁股與新的功能結合起來。
最後,你有一個RELEASE行,這是不同版本的不同分支的選項。有一些選擇取決於SCM軟件的標籤功能,以及主要/次要修訂可能有多不同。因此,例如,您可以選擇每個發佈版本的發佈分支,或者僅限於主版本號。你的旅費可能會改變。
一般來說,從MAIN分支到儘可能晚的發佈。錯誤修復和最後一分鐘更改可以直接進入RELEASE以便稍後集成到MAIN,也可以直接進入MAIN進行即時集成備份。沒有硬性規定 - 做最好的做法。但是,如果您有可能會提交給MAIN的更改(例如,來自開發分支,或MAIN上的某個人「稍作調整」),則執行前者。這取決於你的團隊如何工作,你的發佈週期是什麼等。
E.g.我會有這樣的事情:
//MYPROJECT/MAIN/... - the top level folder for a complete build of all the product in main.
//MYPROJECT/DEV/ArseKickingFeature/... - a branch from MAIN where developers work.
//MYPROJECT/RELEASE/1.0/...
//MYPROJECT/RELEASE/2.0/...
一個不平凡的項目可能會有多個DEV分支同時活動。當一個開發已經集成到MAIN中,以便它現在成爲核心項目的一部分時,儘可能快地關閉舊的DEV分支。許多工程師會將DEV分支視爲他們自己的個人空間,並隨着時間的推移將其重用於不同的功能。勸阻這一點。
如果在發佈之後,您必須修復一個bug,然後在相應的發佈分支中執行該操作。如果之前在MAIN中已經修復了該錯誤,則整合,除非MAIN中的代碼已經發生了很大的變化,修正則不同。
真正區分代碼行的是您用來管理它們的策略。例如,哪些測試運行,哪些人評論變更前/變更後,如果構建中斷,會發生什麼操作。通常情況下,策略 - 因此開銷 - 在發佈分支中最強,在DEV中最弱。有一篇文章here經歷了一些場景,並鏈接到其他有用的東西。
最後,我建議以一個簡單的結構開始,並根據需要只引入額外的dev &版本。
希望能夠幫助,而不是說出血 - 顯然太多了。
- 1. 簡單的混帳存儲庫組織
- 2. GitHub組織的存儲庫數量
- 3. Hadoop項目的存儲庫組織
- 4. 允許Github組織讀取存儲庫
- 5. 代碼組織 - 關係或存儲庫
- 6. 列出組織的分叉存儲庫
- 7. 開發,存儲庫和部署組織
- 8. 如何組織儲存庫可重用的組件
- 9. 數據存儲/大型網站的組織。如何組織?
- 10. 如何存儲/組織DDL腳本?
- 11. 在Graphite中組織度量存儲?
- 12. 如何在git存儲庫中組織我的項目?
- 13. 使用github搜索api而不指定存儲庫或組織
- 14. 將用戶添加到組織存儲庫github API
- 15. AWS CodePipeline無法訪問組織的存儲庫
- 16. 如何在Stackdriver中查看github組織存儲庫
- 17. 需要關於組織SVN存儲庫的建議
- 18. Alfresco僅作爲存儲庫:如何組織數據?
- 19. 爲java 6和7組織github存儲庫
- 20. 使用存儲庫設計模式組織類
- 21. GitHub組織可以將代碼提交到存儲庫嗎?
- 22. 如何讓Team City訪問GitHub組織的私人存儲庫?
- 23. Github:與另一個組織共享私有存儲庫
- 24. 使用SSH密鑰訪問Sourcetree中的組織存儲庫
- 25. 如何使用Git存儲庫組織跨平臺項目?
- 26. 在jcr存儲庫中組織文件的正確方法
- 27. 如何爲C++代碼組織SVN存儲庫
- 28. 如何組織和維護銀行存儲庫
- 29. 如何在IBM i上組織您的RPGLE Subversion存儲庫?
- 30. 什麼是存儲和組織圖像的NoSQL數據庫