使用git管理客户端/服务器特定文件的最佳方式是什么



我使用python在我的工作笔记本电脑上开发代码,然后部署到我们的服务器上以实现自动化。

我最近刚开始通过PyCharm使用git和github,希望能使部署过程更加顺利。

我的问题是,我有一个配置文件(YAML(,它使用不同的参数,分别用于我的构建环境(笔记本电脑(和生产(服务器(。例如,文件路径发生更改。

有没有一种git实践,我可以实现,当从笔记本电脑推送或从服务器拉送时,它会排除对文件特定部分的更改?

我对诸如pyvenv.cfg之类的文件使用.gitignore,但有办法在文件中做到这一点吗?

我想到的另一种方法是将不同的分支用于本地和远程特定参数。。。

例如:

本地分支将包含本地参数,生产分支将包含生产参数。在这种情况下,我会把第一个从本地分支机构推到本地分支机构。接下来,我将对生产参数进行必要的更改,在我的情况下,在笔记本电脑上工作比通过服务器工作容易得多,然后推送到生产部门。然而,我有一种感觉,这违背了良好的做法,或者只是简单地改变了分支的使用。

谢谢。

配置文件也是存储凭据的常用位置(例如:数据库的登录/pwd、web服务的API密钥…(,通常不将这些凭据存储在存储库中是个好主意。

一种常见的做法是将模板文件存储在repo中(例如:config.yml.sample(,而不是将实际的配置文件与代码一起存储(如果它在版本控制的目录中,甚至可以将其添加到.gitignore中(,并在部署时添加步骤以设置初始配置文件或更新现有配置文件-这些步骤可以是手动的,也可以是脚本化的。如果需要,您可以分别备份和版本配置。

另一种可能性是从其他地方(例如环境(获取应该适应的元素,并在配置文件中包含一些user: $APP_DB_USER条目。您应该在两台服务器上都提供这些条目,例如:在本地机器上有一个env.txt文件,在生产服务器上有另一个。

最新更新