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

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

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

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

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

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

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

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

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

    如果你非要用 .env , 还非得自己额外覆盖, 那就加一个 env = merge('.env', 'local.env')
    Akkuman
        7
    Akkuman  
       1 天前 via Android
    配置支持从环境变量读取,然后是配置文件,如果有配置中心可以也可以用配置中心,然后用 direnv 或者 mise 这类工具自动应用环境变量文件,gitignore 中忽略掉环境变量配置文件
    vxf
        8
    vxf  
       20 小时 29 分钟前
    在前面的基础上补充一点: 不同部署平台还可以考虑自动化生成对应平台的打包脚本, 这样不同环境的配置文件不会混乱
    nightwitch
        9
    nightwitch  
       12 小时 53 分钟前
    git update-index --skip-worktree <file_name>

    跳过部分你本地的修改,又不影响你工作
    cumt21g
        10
    cumt21g  
       1 小时 6 分钟前
    up 的意思是有些东西是自己私有的,可能只是自己开发时候用到的东西,不应该提交到代码库,又想被 git 管理,对么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2610 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:34 · PVG 14:34 · LAX 22:34 · JFK 01:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.