2011-01-20 81 views
4

我的机器上有几个文件总是与我们的Git存储库中的文件不同(一个ASP web.config文件,这个文件对我的本地盒子有不同的设置生产服务器和用于报告服务的.rds文件,该服务具有我的个人凭证以连接到我们的报告服务器)。在这种情况下,你推荐与Git一起工作?通过永远不会提交的Git管理文件

我不想做的是每次提交时都存储这些文件。我也不想创建一个包含这两个文件的分支,因为在每次提交之前,我必须首先提交到主分支,然后从那里提交到我们使用的主SVN仓库。 忽略这些文件也不好,因为其他人可能会对它们进行更改,我需要这些文件。

作为最终结果,我希望能够随时提交所有内容,而不是将其他所有内容都添加到我的索引中,除了这两个文件。

+0

你最终做了什么? – 2011-01-26 21:08:19

+0

我最终创建了一个不包含这些文件的独立分支,我从那里提交,所有这一切对我都很好。虽然可能不是最优雅的解决方案。 – kd7iwp 2011-02-15 22:38:40

回答

4

涂抹/清理脚本是处理这个问题的方法。本质上,当它们被检出时,空的连接字符串被替换为你的开发连接字符串。提交时,连接字符串由第二个脚本“清理”,并且存储库具有空字符串的版本。

alt text

alt text

现在,当你做一个diff和有该文件的变化,他们只会是永远不会改变的人。

部署时,我不会依赖于此。您需要部署IT系统部门处理且不在您的开发工作流程中的脚本。

你可以阅读更多关于此这里:https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#_keyword_expansion

希望这会有所帮助。

1

我检查一般配置文件,它是用非版本化的.gitignore -d本地配置修改的。这似乎是一个标准这样做。

0

使用.gitignore文件并将其检入到您的存储库中。

http://git-scm.com/docs/gitignore

然而,检查样本web.config.sample,让新的开发人员能够快速复制文件的web.config上手。您可能想在项目的根目录上编写一个简单的脚本或自述文件,以解释人们如何开始使用该项目。您还可以将其他用户特定的文件放在对.suo文件不重要的项目中。