在生产服务器上,我当然需要有不同的设置,并且与本地设置不同。
我们的开源项目托管在 github 上。因此主分支不是生产代码(至少到设置配置)。
现在,我们必须托管项目(django).. 为此,我找到的最简单的解决方案是在本地创建一个新分支,设置生产设置,将服务器 git 添加为远程,将该分支推送到远程源。
因此,我们可以随时将最新的稳定版本合并到生产分支中......轻松
但是在github中管理文件存在一些问题..
假设“proj/settings.py”中提供了 django 设置。由于系统之间的本地设置不同,我们创建了“proj/local_settings.py”来覆盖系统特定的本地设置(例如,静态文件位置).. Git 使用 .gitignore 忽略此文件
现在,如果我们在生产分支中使用这个文件来配置生产设置,并且由于它当前被忽略但 Git.. 我们不能使用它。
要将 local_settings.py 从本地生产分支推送到生产服务器,我们需要在该特定分支的 .gitignore 中删除该位置。
一切都很好,接受到这里..
实际问题来了。
当我们想将新的更改推送到生产服务器时,我们首先要将它们推送到生产本地分支,然后再推送到生产服务器......但是现在,
.gitignore 文件更改为版本中存在的内容(即再次添加 local_settings.py)
为此,每次我将某些内容合并到其中时,我都必须手动删除 production-local-branch 的 gitignore 中的 local_settings.py ...
当然以上都是一团糟..我如何轻松处理它