2016-07-26 90 views
1

我想问一些关于代码管理的建议。我有一个核心代码的项目,代码适用于所有人。每个客户端都有自己的代码版本,并替换了一些图片以及几行不同的代码(如API URL,服务器地址和更新地址)。我一直在尝试这与git分支,但只要我改变核心代码中的东西,我必须更新所有git分支与此更改,同时保持每个客户端的更改。Git核心代码管理

有没有更简单,更优雅的方法来做到这一点?或者内置到git中来做到这一点?

我在堆栈中询问这个问题,因为我不知道如何在Google上制定我想要的。

+0

您可以将这些个人文件从Git仓库中取出,并将它们添加到您的'.gitignore'文件中。为什么有人会不得不将这些非共享文件与存储库同步,是否有任何理由? –

+0

有。这是一个应用程序,其他人也需要构建这些以防万一我无法构建新的应用程序。 – Roboroads

+0

该文件是回购的一部分,它不是,或者它是,但它被某种方式忽略。无论如何,你不能将一部分文件同步,而另一部分不能同步,总的来说,这一切都与Git完全一致。 –

回答

1

你正在混合代码和配置,而不是你发现的一件好事。

首先,干净地将两者分开,即确保代码完全清除了这样的配置值(实际源代码中没有编码IP地址)。删除配置文件的选项并更改代码,以便从那里获取值。

现在,根据您拥有多少客户端,您可以拥有一个包含大量配置文件的目录(以及其他文件,如您提到的图像,必要/实用的子目录结构);在构建时,您只需选择其中一个。当然,您的构建过程不会从其他客户端部署配置文件。

只要文件干净地分开,您可以将它们全部放在主分支中。我假设您不会将您的存储库交付给客户,因此这里没有涉及安全方面的问题。

+0

你让我开始思考。需要更改的变量位于回购协议中的配置文件中。我可以尝试制作一个批处理脚本,将客户的配置文件复制到项目中并构建它。 – Roboroads