V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
timerring
V2EX  ›  git

如何在 git 提交前将生产版本和开发版本的配置进行区分

  •  
  •   timerring · 21 小时 28 分钟前 via iPhone · 413 次点击
    最近遇到了一个困扰我的问题,我在开发项目时,不想将我的项目中一些隐私的配置提交到 github 上,于是我 gitignore 了这些文件,然后为了其他人 clone 下来能直接用,我又添加了对应的 example 配置文件。
    配置命名分别是:
    我 gitignore 的 config.toml
    项目展示的 config-example.toml
    源码中有对 toml 的很多引用,导致我每次开发完 push 到 github 的时候都要把我源码中的 config 改为 example 。非常麻烦,想问问大家有没有什么好的解决方法或者插件什么的,能够让我 push 的时候丝滑切换。
    6 条回复    2024-11-29 15:17:20 +08:00
    newaccount
        1
    newaccount  
       21 小时 23 分钟前
    读取环境变量
    GeruzoniAnsasu
        2
    GeruzoniAnsasu  
       21 小时 18 分钟前
    > 为了其他人 clone 下来能直接用,我又添加了对应的 example 配置文件

    本来项目也不应该其它人 clone 完就能直接用,应该是 clone 完,自动 build 一下能直接用,要么就下载 release 后能直接用

    增加个 build 环节就好了
    Vegetable
        3
    Vegetable  
       21 小时 16 分钟前
    完全没看懂,你 push 的时候改的是什么?
    lambdaq
        4
    lambdaq  
       21 小时 16 分钟前
    conf/prod.toml
    conf/beta.toml
    conf/local.toml
    conf/ci.toml

    启动的时候必须指定(命令参数、环境变量等)

    如果没指定你提示个启动失败,教一下怎么指定。
    InDom
        5
    InDom  
       21 小时 11 分钟前
    通过 .env 配置, 此文件不提交到 git, 你提供的应该是 example.env,

    项目通过 env('DB_HOST', 'mysql'), 实现.
    InDom
        6
    InDom  
       21 小时 9 分钟前
    其他人 clone 项目后,应该将 example.env 改为 .env ,并适当配置后使用.

    希望没有 .env 就能使用, 那就是放在 env() 的默认值里面.

    如果你非要用 .env , 还非得自己额外覆盖, 那就加一个 env = merge('.env', 'local.env')
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2573 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 04:27 · PVG 12:27 · LAX 20:27 · JFK 23:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.