2017-09-05 107 views
-1

我最近加入了一個組織,並面臨git回購結構的問題。什麼是保持git倉庫結構的最佳方法:VCS結構項目明智或平臺明智的最佳做法是什麼?

  1. 在一個倉庫完整的項目(前端(角,HTML),後端,Android和iOS的單式回購)

  2. 創建爲每個平臺單獨回購。 在早期的組織中,我們曾遵循第二種方法爲每個平臺創建單獨的回購,但在當前的平臺中,我們的架構工程師告訴我最好爲所有平臺保留單回購。

有很多每個平臺單回購的偉大工程實例對git的,如:

  1. https://github.com/firebase/firebase-js-sdk

  2. https://github.com/firebase/firebase-ios-sdk

  3. https://github.com/firebase/firebase-admin-python

  4. https://github.com/firebase/firebase-admin-java

  5. https://github.com/firebase/firebase-admin-node

但我沒有找到著名的庫作爲多個項目的單個存儲庫的任何實例。

任何人都可以解釋兩種方法的確切優點和缺點,什麼是最好的解決方案? 如果任何人都可以幫助我在這裏,這是非常可觀的,在此先感謝。

+0

您是否得到了可幫助您解決問題的答案?如果是,您可以將其標記爲答案。而且這也會使其他有類似問題的人受益。 –

回答

0

Unlick Subversion,對單個單一項目來說很好,Git最適合小型項目。

原因是Git的衝突範圍是整個存儲庫。在推送之前,您必須更新存儲庫。遠程更改通常可以自動合併,但如果發生衝突,則必須手動解決。保持較小的存儲庫有助於減少合併的機會。

如果您有一個很好的解決方案,最好將它保存到多個存儲庫中。通常每個模塊/ DLL/Visual Studio項目都是一個存儲庫。

又見專業的Git,布倫特拉斯特

0

簡而言之:

  • 對於VCS多個項目,如果項目是相互關聯,你最好在同一回購管理它們。否則,您最好在單獨的存儲庫中管理它們(如您鏈接的Firebase中的項目)。
  • 對於VCS中的一個項目,無論項目多麼複雜,您都應該在一個回購協議中進行管理

根據您的情況,所有平臺(對於前端和後端)都爲同一項目做出貢獻,因此您應該在單個回購庫中對其進行管理。如果您針對不同的平臺在單獨的回購庫中管理項目,則會減少項目的耦合度和關係,尤其是當您需要測試項目級別時。對於不同的平臺,您可以在不同的分支管理它們,這是項目版本控制的常用方式。

對於由多個平臺開發的項目,這是一個示例realworld