线上配置和线下配置不同,我从master创建一个本地分支,修改配置文件,设置这个文件忽略,然后合并到主分支去,再从主分支推送到线上环境,但是合并过去 我设置忽略的配置文件在主分支被删了,,不知道怎么整?
线上配置和线下配置不同,我从master创建一个本地分支,修改配置文件,设置这个文件忽略,然后合并到主分支去,再从主分支推送到线上环境,但是合并过去 我设置忽略的配置文件在主分支被删了,,不知道怎么整?
你管理配置文件的方式不对。推荐以下两种方案:
配置文件单独管理,不放在代码仓库里(比如用 salt 管理)
不同环境的配置文件使用不同的文件,通过环境变量之类的办法来确定加载哪一个配置文件
2 回答1.4k 阅读✓ 已解决
1 回答729 阅读✓ 已解决
2 回答921 阅读✓ 已解决
1 回答892 阅读
1 回答698 阅读
536 阅读
如果你的分支是从原来有配置文件的master分支分出来的话, 你删除了文件, 并做了修改, 然后设置忽略. 这时候你的分支是有一个修改状态为删除配置文件的, 你后面的忽略修改是没有用的. 你这时候合并到主分支, 主分支就会进行通用的删除. 所以你的配置文件就被干掉了.
我一般的做法是通过配置文件或者程序初始化的时候检查一个别的位置的配置文件, 如果文件存在, 就是用那个配置文件, 忽略当前配置文件. 这样线上环境就是同步更新一个新的配置文件, 这个文件是从来都不会在开发分支上出现的.
然后为了保障, 本地的同步脚本, 例如是用rsync的时候, 是固定过滤掉那个线上配置文件存放的目录.