2016-07-26 102 views
1

我想問一些關於代碼管理的建議。我有一個核心代碼的項目,代碼適用於所有人。每個客戶端都有自己的代碼版本,並替換了一些圖片以及幾行不同的代碼(如API URL,服務器地址和更新地址)。我一直在嘗試這與git分支,但只要我改變核心代碼中的東西,我必須更新所有git分支與此更改,同時保持每個客戶端的更改。Git核心代碼管理

有沒有更簡單,更優雅的方法來做到這一點?或者內置到git中來做到這一點?

我在堆棧中詢問這個問題,因爲我不知道如何在Google上制定我想要的。

+0

您可以將這些個人文件從Git倉庫中取出,並將它們添加到您的'.gitignore'文件中。爲什麼有人會不得不將這些非共享文件與存儲庫同步,是否有任何理由? –

+0

有。這是一個應用程序,其他人也需要構建這些以防萬一我無法構建新的應用程序。 – Roboroads

+0

該文件是回購的一部分,它不是,或者它是,但它被某種方式忽略。無論如何,你不能將一部分文件同步,而另一部分不能同步,總的來說,這一切都與Git完全一致。 –

回答

1

你正在混合代碼和配置,而不是你發現的一件好事。

首先,乾淨地將兩者分開,即確保代碼完全清除了這樣的配置值(實際源代碼中沒有編碼IP地址)。刪除配置文件的選項並更改代碼,以便從那裏獲取值。

現在,根據您擁有多少客戶端,您可以擁有一個包含大量配置文件的目錄(以及其他文件,如您提到的圖像,必要/實用的子目錄結構);在構建時,您只需選擇其中一個。當然,您的構建過程不會從其他客戶端部署配置文件。

只要文件乾淨地分開,您可以將它們全部放在主分支中。我假設您不會將您的存儲庫交付給客戶,因此這裏沒有涉及安全方面的問題。

+0

你讓我開始思考。需要更改的變量位於回購協議中的配置文件中。我可以嘗試製作一個批處理腳本,將客戶的配置文件複製到項目中並構建它。 – Roboroads