簡體   English   中英

如何管理一個 git 項目的多個副本

[英]How to manage a multiple copies of a git project

我做了一個 School Android 項目,我想用不同的包和不同的 drawable 為不同的學校制作它的副本。 有沒有辦法在不同分支的同一個github存儲庫中管理所有這些。 因此,當我在一個實例(分支)中進行一些更改並為其余實例(分支)創建拉取請求時。 我希望它只合並我所做的更改,而不是替換我創建拉取請求的分支的所有代碼和可繪制對象。

您可以做的一件事是將項目的核心部分提取到一個單獨的、可管理的存儲庫中。 我們稱它為您的coreApp 它將包含您將要做的所有后續工作所需的主要功能、特性和架構。 鑒於甚至可以將您的項目分成模塊!

然后對於每個特定項目(不同學校的副本)將使用您的coreApp作為依賴項,並在其之上構建,實現它需要的具體和特定的 drawablase + 包。

這種方法的優點是每個項目之間都有清晰的邏輯分離。 git 歷史將是具體的、詳細的和准確的。 您將知道何時需要更新核心模塊以及何時需要處理每個特定項目。 您還可以獲得以這種方式處理較小項目的好處。 由於每個項目只是一個不同的應用程序,因此您正在從創建單體應用轉向更加模塊化的系統。 另一個積極因素是您有少量代碼重復。 您需要做的只是為每所學校實現特定和具體的功能,其余的保持不變。

缺點是管理所有這些項目將更加困難,因為現在您沒有一個項目,而是多個項目,其中一個項目依賴於另一個項目。 另一個不利方面是,如果發生這種情況,這在很大程度上取決於您的情況,如果您定期更新coreApp ,那么您可能需要更新所有后續項目,因為您的核心獲得了新版本。 這取決於您對維護的積極程度。 最后但並非最不重要的是,從邏輯上將您的核心與其他應用程序分開可能非常困難......

此外,我個人會盡量避免在單個 git 存儲庫中管理所有內容,特別是如果功能會因其他目的而不斷被覆蓋,因為事情會很快失控。 您可能會失去項目開發的邏輯一致性,並且管理歷史可能會變得困難。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM