如何使用Github推拉现场和本地主机配置

如何使用Github推拉现场和本地主机配置

问题描述:

我仍然有点困惑如何正确使用github。 我在Github上有一个主分支,它与我在服务器上的活动站点保持同步。 我也做了一个分支dev-1,它是我的本地代码的最新版本。如何使用Github推拉现场和本地主机配置

在我的本地站点上,配置文件配置了一个回调URL localhost,而在活动站点上,配置使用当然的实际URL。

但我如何更新我的代码,我在本地主机上测试,然后要将它推送到活动网站,而不交替配置文件?

我编辑.gitignore文件以排除配置文件夹,但它不工作,或者我做错了。

什么是推荐的用户流量?

+0

配置文件不应受版本控制。也许你可以更具体地说你的意思是“它不工作”。什么不行?将条目添加到'.gitignore'只是使得它们在您执行'git status'等时不会显示出来。如果您已将它们放入版本控制中,请复制配置文件/文件夹,然后将其从版本控制中删除,并将这些副本作为您的配置复制到您的系统上。然后,您可以推拉所有其他文件而不影响您的配置。你可以添加一些推/拉钩来自动更新特定分支。 – Archimedix 2015-02-24 12:54:14

+0

我认为这正是我需要的。我正在考虑把配置文件/文件夹放入.gitignore将归档。但他们仍然出现在github回购上。那么,我如何从版本控制中删除文件/文件夹呢?或者,我该如何排除它们(当我开始一个新的github项目时)注意:我正在使用ive栈和他的文件夹结构。所以排除文件夹config/env是我需要的。并将它们保持在两个系统上,一旦配置完全不变。这是正确的吗? – ron 2015-02-24 13:20:12

+0

排除在第一位:不要添加它们并将其路径放在'.gitignore'中。删除它们:通过使用版本控制的删除功能,例如'git rm',但正如我所说的,首先备份你的配置(或者所有的东西),然后从版本控制中删除它们,然后再将它们添加到你的工作目录(而不是版本控制)并忽略它们。我认为你应该仔细阅读使用git,例如[here](http://git-scm.com/book/en/v2)或[here](http://gitref.org/)。 – Archimedix 2015-02-24 14:51:22

如果排除config文件夹,您将如何在生产环境或本地环境中使用该配置?你将如何改变这两个角色?可能会有不同的回调URL,API的用户名/密码等。另外,不建议在git树上添加任何敏感信息,如用户名/密码(即使github帐户是私有的)。

我认为最好的做法是拥有一个通用配置模块,它可以从环境中获取任何不同或敏感的设置参数。你当然会在生产服务器和本地开发服务器上使用bashrc或其他类似的技术来设置这个环境变量。

+0

我想配置2个不同的配置文件,每个系统都有其特定的正确设置(localhost和server),然后在进行pull,push和commit时保持它们不同步。 – ron 2015-02-24 13:24:28

+0

如果它是两个不同的文件,一个用于生产,另一个用于测试例如,为什么你不希望他们在版本控制?它是敏感信息,您不应该添加(如用户名/密码),并且可以从env变量中检索这些信息。 – tayfun 2015-02-24 14:00:36

+0

@tayfun配置文件(配置默认值除外)不应该在版本控制中。决不。 – Archimedix 2015-02-24 18:37:48