git提交一次,然后忽略

时间:2012-11-07 11:38:34

标签: git gitignore

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

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

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

现在我已经尝试将它添加到.gitignore但是从我读过的内容中跟踪的文件免于.gitignore我还尝试了git update-index --assume-unchanged connectionStrings.config但这看起来像是临时修复,因为我在检查另一个分支时仍然对文件的挂起更改进行了窃听。

这有什么好办法吗?

3 个答案:

答案 0 :(得分:1)

为什么不在git中使用类似connectionStrings.basic.config的东西,只是为新实例重命名它?

答案 1 :(得分:1)

您可以使用git attribute filter driver和版本:

  • connectionStrings.basic.template档案
  • smudge负责创建实际(未版本化)connectionStrings.basic的脚本(如果它不存在),每次检出仓库时(过滤器驱动程序detects the content of that template file
  • 一个干净的脚本,可以恢复connectionStrings.basic.template的原始内容(在修改该模板文件的情况下),以保持模板文件不可变。

smudge on checkout

请参阅 git attributes 以获取示例。

答案 2 :(得分:0)

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

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

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

相关问题