我想使用git进行提交,其中包含.net应用程序中连接字符串的基本结构。
例如,我们有一个web.config导入connectionStrings.config。
我想提交一个初始的connectionStrings.config,所以我们不必手动添加一个,它有我们需要的基本设置,我们可以修改字符串的各个部分(通常只是服务器) name)然后忽略从该点开始对该文件的任何更改。
现在我已经尝试将它添加到.gitignore但是从我读过的内容中跟踪的文件免于.gitignore我还尝试了git update-index --assume-unchanged connectionStrings.config但这看起来像是临时修复,因为我在检查另一个分支时仍然对文件的挂起更改进行了窃听。
这有什么好办法吗?
答案 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
的原始内容(在修改该模板文件的情况下),以保持模板文件不可变。
请参阅 git attributes 以获取示例。
答案 2 :(得分:0)
如何将文件放在.gitignore中并在克隆之后,运行将创建文件的init脚本(包含在repo中)?它也可以执行其他任务,因为它在您的设置中听起来也可能有其他类似的设置。如果不是现在,也许将来。
通常在从源代码构建可运行的应用程序时会处理这类事情,但听起来您的应用程序不需要单独的构建过程,因此您没有这一步。这不是最优的,但如果它只是这个和未来任何需求的一个命令,我认为不是那么多。
有一系列工具/脚本语言/帮助程序可以做到这一点,最适合您的环境/应用程序。 Ant或类似的东西也与环境无关。