我有一个代码库,有两个分支:硕士和实验性。
为了测试目的,我必须使用不同的数据库和apiKey。这是一个麻烦,当我必须合并变化,并造成冲突。
是否有基于分支名称的自动管理?
在大师里是:
mongoose.connect('mongodb://127.0.0.1:27017/' + 'oysterDB');
apiKey = '123ZXC'
在实验中它是:
mongoose.connect('mongodb://127.0.0.1:27017/' + 'testingDB');
apiKey = 'QWERTY123'
发布于 2022-10-18 13:59:49
实现这一目标的一种常见方法是从单独的未跟踪文件中读取变量。例如:
config.json
的新文件。config.json
文件中读取变量。.gitignore
文件中,这样您就不会在回购中跟踪它。config.json.master
和config.json.experiemental
,并相应地更改设置。如果实现得当,您可以将这些文件与.gitignore
更改一起提交到回购中,并且提交可以安全地合并到所有分支中。(考虑从正在提交的json文件中省略密码或敏感密钥。)git branch --show-current
),根据它是什么,您可以将适当的json文件复制到config.json
,以便应用程序使用这组变量。一旦实现了上述步骤,一旦您切换分支,您的config.json
将自动更新,您的将保持干净的。
提示:当您(或其他人)想要自己重写信任时,您可以暂时禁用钩子并手动编辑config.json
。或者,您也可以将另一个文件添加到您的.gitignore
文件中,名为config.json.local
,并设置您的钩子,以便在您不在这两个共享分支之一时复制该文件。这样,每个开发人员都可以拥有自己的配置文件的私有副本,如果需要的话,配置文件是不被跟踪的。(请注意,新的克隆将缺少本地版本。)
https://stackoverflow.com/questions/74116870
复制