提交机器特定的配置文件

2023-12-01

我开发时的一个常见情况是代码库将有几个需要机器特定设置的配置文件。这些文件将被签入 Git,而其他开发人员总是会意外地将它们重新签入并破坏其他人的配置。

一个简单的解决方案是不将它们签入 Git,甚至另外为它们添加一个 .gitignore 条目。然而,我发现在文件中包含一些合理的默认值要优雅得多,开发人员可以修改这些默认值以满足他的需要。

有没有一种优雅的方法可以让 Git 很好地处理这些文件?我希望能够修改特定于计算机的配置文件,然后能够运行“git commit -a”而无需签入该文件。


让您的程序读取一对配置文件以进行设置。首先,它应该读取config.defaults将包含在存储库中的文件。然后,它应该读取config.local应列出的文件.gitignore

通过这种安排,新设置将出现在默认文件中,并在更新后立即生效。如果它们被覆盖,它们只会在特定系统上有所不同。

作为这个的变体,你可以有一个通用的config您在版本控制中发布的文件,并让它执行类似的操作include config.local引入机器特定的值。这在您的代码中引入了更通用的机制(相对于策略),从而实现了更复杂的配置(如果您的应用程序需要的话)。在许多大型开源软件中都可以看到,这种流行的扩展是include conf.d,它从目录中的所有文件读取配置。

Also 看我的回答类似的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

提交机器特定的配置文件 的相关文章

  • 可以使用 git 项目并在 VS2013 中查看 TFS 工作项吗?

    所以我升级到了VS2013 希望能顺利进行所有开发 不过有一件事确实让我很恼火 我的团队使用 TFS 而我更喜欢 git 因此我使用 git tfs 来桥接两者以进行源代码控制 我们使用 TFS 工作项来跟踪错误和故事等 如果重要的话 我也
  • 仅当除 master 之外的所有分支都有推送的 TAG 时,Gitlab 才会触发 Pipeline

    我的 YAML 文件必须如何配置 以便仅在推送标签时触发一种情况 作业 构建 的管道 该标签可能位于除 master 之外的所有分支中 对于主案例 我有一个单独的工作 build master yaml 文件 问题 如果主分支获得标签 管道
  • 为什么 iTerm2 中不显示 git 颜色

    所以我有我的 gitconfig 设置来处理颜色 在终端中它工作得很好 看起来也不错 然而 在 iTerm2 中 除非我为 git 设置反向属性 否则我的 gitconfig 根本不会显示颜色 然后它们就出现了 但是谁喜欢相反的颜色呢 为什
  • 如何给 Git 控制台着色?

    我最近看到gitWindows 中的控制台是彩色的 例如绿色表示添加 红色表示删除等 我如何为我的颜色上色git这样的控制台 为了安装它 我使用了以下命令 sudo apt get install git core As noted htt
  • 我应该从哪里安装 git:xcode-select --install 还是brew install git?

    我应该从哪里安装 git xcode select install or brew install git 你需要做xcode select install无论如何 如果你想做任何开发 然后你可以做 brew install git 它将安
  • 当存储在变量中时,Git 提交消息变得混乱[重复]

    这个问题在这里已经有答案了 我有一个 Git 提交 其中有一个摘要 然后是一些描述 所以当我看到提交消息时git log format B n 1
  • 詹金斯更改链接

    Jenkins UI 中 更改 链接的用途是什么 谁能指出描述 更改 链接的 Jenkins 文档 当 Jenkins 拉取源代码时 它会获得新的 SVN 修订版或新的 Git SHA1 此链接显示自上次构建以来 SCM 的更改
  • 分支和文件夹的 gitolite 权限

    在 gitolite 我想要 developers能够推送到除以下之外的任何分支master I want user1能够推送到任何分支 包括master 除了不是某个目录master 我该怎么做呢 这应该解决以下两个问题 repo are
  • Git 更新文件时更改默认 umask

    我的 Git 有问题 我在 Google 和 StackOverflow 中搜索了解决方案 但没有任何帮助 问题是 每次 git 更新工作目录中的某些文件时 当我签出分支或合并分支等时 文件权限都会更改 以便添加 可写到组 标志 如果该文件
  • PHP 中的文本版本控制,具有差异突出显示

    如果您曾经在 StackOverflow 上编辑过问题 您可能已经注意到它会跟踪问题所应用的确切更改 它以一种形式显示 突出显示文本中已删除的红色部分和自特定编辑以来添加的绿色部分 我的问题是如何自己实现这样一个系统 我正在尝试使用 PHP
  • Git fetch 在 for-each-ref 中不显示远程分支

    我有一个远程分支feature test2 我想把它拿过来 我跑 git fetch origin feature test2 我得到 From
  • 将环境变量从 fastlane 传递到 Xcode 构建阶段脚本

    是否可以 如果可以 如何 将环境变量从运行 fastlane 的脚本传递到 Xcode 运行脚本阶段 我的最终目标是在运行脚本阶段读取当前的 git 分支名称 我们的 CI 由 Team Foundation Server 运行 它执行以下
  • 如何找出在哪个提交中添加了特定代码?

    我想知道我在哪个提交中添加了下面给出的代码 if getListView getChildCount 0 getActivity findViewById android R id empty setVisibility View VISI
  • 如何在 gitolite 中安装钩子

    我已阅读全部关于钩子的文档 https github com sitaramc gitolite blob pu doc 2 admin mkd using hooks similar https stackoverflow com que
  • 开发和生产 SQL Server 之间使用不同的排序规则会出现哪些问题?

    盘问 无法更新 sys columns 还有其他方法吗 https stackoverflow com questions 4018347 unable to update sys columns any other approach含糊地
  • 如何在git中定义ESC字符?

    我想在 git 输出中使用着色 例如 git log decorate color 当我发出这个命令时 我得到的输出看起来像ESC 1 32m where ESC是反色的 在我看来 这是一个有效的转义序列 除了 033必须发送而不是字符E
  • 从子文件夹自动部署 Heroku

    我知道你可以从github自动部署到heroku 但我还没有找到一种方法只将子文件夹从github推送到heroku 从命令行我知道可以通过以下方式执行此操作 git subtree push prefix
  • AngularJs:显示来自 git 或 Bower 的版本号

    我创建了一个 Angular 应用程序 我想在屏幕上显示应用程序的当前版本号 目前我已将其实现为常量 application constant constants VERSION 1 1 2 但这需要我在每个新版本上更新常量 我使用 Bow
  • 如何在cygwin下更改git中文件的大小写?

    我们在区分大小写 不敏感的混合环境 cywgin linux 中工作 今天有人通过重命名文件 将 S 更改为 s 对我们的工作流程造成了小破坏 这导致了各种有趣的跨分支合并问题 而且说实话 没有人完全确定发生了什么 在 cygwin 的 g
  • 获得干净的 git 沙箱的最有效方法是什么?

    对于我的持续集成构建 我想确保我的 git 沙箱中没有存放任何杂散文件 并且没有任何文件被无意中更改 我知道关于git reset hard HEAD 这解决了部分问题 但我想我想做的是删除所有未跟踪和忽略的文件 我可以用蛮力的方式做到这一

随机推荐

  • Java RegEx - 用开始和结束分割段落的正则表达式

    我是 java 正则表达式新手 请帮助我 考虑下面的段落 段落 Name abc sadghsagh hsajdjah Name ggggggggg Name ggg dfdfddfdf Name Name hhhh sahdgashdg
  • 使用纯 CSS 单击时进行 CSS3 转换

    我正在尝试将图像 加号 旋转 45 度以创建十字符号 到目前为止 我已经成功地使用下面的代码实现了这一点 但它在悬停时工作 我想让它在单击时旋转 有没有一种简单的方法可以做到这一点使用CSS 我的代码是 CSS img display bl
  • jQuery - 根据条件禁用和启用锚标记

    在页面加载时 我正在检查一个人是否已注册 如果他是 我将启用链接 否则禁用该链接 我尝试了以下方法 但它不起作用 var status status if status Registered addlink data disabled el
  • 使用 capture.get(CV_CAP_PROP_FPS) 时 OpenCV 报告 TBR 而不是 FPS

    我尝试在 Mac OS 10 6 8 Snow Leopard 上使用 OpenCV 和 Qt 4 7 4 处理几个视频 如果我创建一个cv VideoCapture对象 然后查询与此类视频相关的帧速率 我得到的是 TBR 而不是 FPS
  • 通过require在不同的Lua状态之间共享全局变量

    我正在尝试找到一种方法来共享特定Lua脚本的全局变量 test lua在示例中 不同 Lua 状态之间 这是我的简单示例代码 In test lua num 2 In main cpp include
  • c函数参数评估和传递[重复]

    这个问题在这里已经有答案了 我有一个很小的代码 但我不明白为什么输出是这样的 这里是 include
  • 如何在 jQuery 动画中连续旋转子元素?

    我有一个类为 bannergroup 的 div 其中包含多个 div banneritem 我希望这些项目能够相互旋转 淡入然后淡出 我可以在类横幅组中放置多个 div 并且每个 div 都应单独旋转 这是 HTML div class
  • 如何用数组编组哈希?

    我应该做什么编组数组的哈希值 以下代码仅打印 s Hash new s default Array new s 0 lt lt Tigger s 7 lt lt Ruth s 7 lt lt Puuh data Marshal dump s
  • range-v3 如何操作::使用分隔符连接

    我从 git 获取 MSVC 的 range v3 并通过MSVC C 14编译器进行编译 考虑代码 auto getter2 const std string r return r r std vector
  • 如何将 ul 元素水平居中对齐

    我无法对齐包含在ul 到其容器的水平中心 怎么做 See a jsFiddle 上菜单的现场演示 li a href aboutus php AboutUs a ul class sub li a href aboutsquare php
  • 如何通过 Python Pandas 正确规范 json

    我想做的是通过 Pandas 加载外汇历史价格数据的 json 文件并对数据进行统计 我已经了解了许多有关 Pandas 和解析 json 文件的主题 我想将带有额外值和嵌套列表的 json 文件传递 给 pandas 数据框 我有一个 j
  • 每当有新行或任何新更新时就从 Cassandra 数据库中提取数据吗?

    我正在开发一个系统 需要将 Avro 模式存储在 Cassandra 数据库中 所以在 Cassandra 中我们将存储这样的东西 SchemaId AvroSchema 1 some schema 2 another schema 现在假
  • 添加与第一个 y 轴相关的第二个 y 轴

    我希望你们中的一位能够提供帮助 我有一张图 其中一个 y 轴值和一个与这些 y 值相对应的 x 轴 我想在图的右侧添加第二个 y 轴 将出现在第二个 y 轴上的值是通过第一个 y 轴值通过某种关系确定的 例如 y2 可能是y2 y1 2 1
  • Google Places API - 如何将免费配额增加到每天 150,000 个请求?

    在 Google Developers 控制台中 如果我选择我的 API 项目 则会出现一个 配额 选项卡 在 计费状态 下有一个 申请更高配额 链接 该链接链接到一个页面 该页面显示 Google Places API Web 服务强制执
  • 如何使用 React Native 在 Android 上使用与 ios 相同的自定义字体

    我正在使用 React Native 为 ios 和 android 使用相同的代码 现在在我的项目中我想为两者使用自定义字体 我知道如何在 ios 上应用自定义字体 但那些相同的字体也如何在 android 上应用 新样本 我在下面添加了
  • 使用 numpy 将整数拆分为数字

    我有个问题 这个问题之前就被问过 但据我所知从未使用过 numpy 我想将一个值拆分为不同的数字 做某事并返回一个数字 根据下面的问题我可以做我想做的事 但我更喜欢在 numpy 中完成这一切 我希望它更有效 因为我不会来回更改 numpy
  • 未捕获的类型错误:无法读取未定义的属性“状态” - React

    我不知道我是否在这里遗漏了一些小东西 只是想了解状态如何与 React 一起工作 只需创建一个小复选框 在选中 取消选中时更改文本 import React from react export default class Basic ext
  • 动态 SQL - 检查语法和语义

    使用 Oracle 动态 SQL 我们可以执行包含 SQL 语句的字符串 例如 l stmt select count from tab1 execute immediate l stmt 是否可以不执行l stmt但以编程方式检查语法和语
  • 从 WPF 应用程序引用 Silverlight 类库时出错

    我有一个 WPF 应用程序和一个 Silverlight 应用程序 它们都用于显示地图并共享一些相同的功能 为了保持 DRY 我创建了一个 Silverlight 类库项目 我从 Silverlight 和 WPF 中引用了这一点 它包含一
  • 提交机器特定的配置文件

    我开发时的一个常见情况是代码库将有几个需要机器特定设置的配置文件 这些文件将被签入 Git 而其他开发人员总是会意外地将它们重新签入并破坏其他人的配置 一个简单的解决方案是不将它们签入 Git 甚至另外为它们添加一个 gitignore 条