3

我想使用 git 进行提交,其中包含我们 .net 应用程序中连接字符串的基本结构。

例如,我们有一个导入 connectionStrings.config 的 web.config。

我想提交一个初始connectionStrings.config,这样我们就不必手动添加一个,它具有我们需要的基本设置,我们可以修改字符串的各个部分(通常只是服务器名称)和然后忽略从那时起对该文件的任何更改。

现在我已经尝试将它添加到 .gitignore 但从我读过的内容来看,跟踪文件不受 .gitignore 的影响,我也尝试过 git update-index --assume-unchanged connectionStrings.config 但这似乎是一个临时修复在签出另一个分支时,我仍然对文件的挂起更改感到困惑。

有什么好办法解决这个问题吗?

4

3 回答 3

1

为什么不在 git 中使用 connectionStrings.basic.config 之类的东西,然后将其重命名为新实例?

于 2012-11-07T11:40:42.840 回答
1

您可以使用git 属性过滤器驱动程序和版本:

  • connectionStrings.basic.template文件
  • smudge负责创建实际(未版本化)的脚本,connectionStrings.basic如果它不存在,则每次签出 repo 时(当过滤器驱动程序检测到该模板文件的内容时)
  • 一个干净的脚本,它将恢复connectionStrings.basic.template(在修改该模板文件的情况下)的原始内容,以保持模板文件不可变。

结帐时涂抹

有关示例,请参见git 属性。

于 2012-11-07T14:07:49.533 回答
0

如何将文件放入 .gitignore 并在克隆后运行一个初始化脚本(包含在 repo 中)来创建文件?它也可以执行其他任务,因为听起来在您的设置中您可能也有其他类似的设置。如果不是现在,也许在未来。

通常在从源代码构建可运行的应用程序时会处理此类事情,但听起来您的应用程序不需要单独的构建过程,因此您没有该步骤。这不是最佳的,但如果它只是这个命令和任何未来需求的命令,我认为这并不多。

有一系列工具/脚本语言/助手可以做到这一点,只要最适合您的环境/应用程序。Ant 或类似的东西也与环境无关。

于 2012-11-07T15:10:17.923 回答