首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将忽略的配置文件添加到git repo作为示例

将忽略的配置文件添加到git repo作为示例
EN

Stack Overflow用户
提问于 2010-09-10 16:08:11
回答 4查看 1.3K关注 0票数 9

我有一个应用程序的存储库,我正在处理这个应用程序,其中包括一个配置文件。目前,我使用.dist扩展名进行分发,并让用户在编辑文件之前重命名它。

代码语言:javascript
运行
复制
nate:~/myAwesomeApp% git ls-files 
.gitignore
README
config.dist
glorious_support_lib.p
bestProgramEvar.f90

这很好,而且实际的配置被忽略了。

代码语言:javascript
运行
复制
nate:~/myAwesomeApp% cat .gitignore 
config

不过,如果我能将配置文件以其实名分发并随时编辑,而忽略它,使新克隆的存储库副本具有“功能”发行版,并且不会被覆盖、失败或受到其他干扰,用户就不必担心通过意外的将其超机密配置细节推送或发布到互联网络上,这将是一个甜蜜的

有办法这样做吗?让git保持在被克隆出的文件的单个原始版本附近,但之后会被忽略吗?

我敢肯定以前有人问过这个问题,但对我来说,我的google-fu失败了。把学校放在很深的地方所以。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-17 06:23:00

您还可以版本和分发:

'config.dist')

  • a

  • a .gitattributes文件声明 (仅适用于将检测该内容并生成最终(和私有的,如“非版本化”config文件)的

脚本。

现在,这就是过滤驱动程序所要做的事情(它涉及修改文件regardless of its "state", i.e its full path and name的内容)。但它能起作用。

.gitattributes将包含:

代码语言:javascript
运行
复制
config.dist  filter=generateConfig

您还可以注册您的污点脚本(在创建/更新工作目录时应用于签出步骤)如下:

代码语言:javascript
运行
复制
git config --global filter.generateConfig.smudge /path/to/generateConfig
票数 4
EN

Stack Overflow用户

发布于 2010-09-10 16:28:45

我可能会包括一个将“config.dist”复制到“config”的“安装”脚本。

我不认为有一种方法可以使文件既不被忽略也不被忽略。

票数 6
EN

Stack Overflow用户

发布于 2010-09-10 21:48:20

这是一个很好的问题,但是AFAIK没有git解决方案。

很少有解决办法:

  • 将您的应用程序配置为在config不存在时读取config.dist (例如,PHPUnit使用此技术)
  • 使用构建脚本为您重命名(例如蚂蚁或phing)
  • 使用git钩子重命名信任的
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3686270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档