通过Git管理永远不会提交的文件

时间:2011-01-20 23:31:19

标签: git commit

我的机器上有一些文件总是与我们的Git存储库中的文件不同(一个ASP web.config文件,它对我的​​生产服务器的本地框有不同的设置,并且有一个.rds文件报告具有我个人凭据的服务,用于连接到我们的报告服务器)。在这种情况下,您建议如何使用Git?

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

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

3 个答案:

答案 0 :(得分:4)

涂抹/清理脚本是处理此问题的方法。基本上,当它们被签出时,空连接字符串将被您的dev连接字符串替换。提交时,连接字符串由第二个脚本“清理”,存储库的版本为空字符串。

alt text

alt text

现在,当您执行差异并且该文件中有更改时,它们将只是永远不会更改的文件。

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

您可以在此处详细了解:https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#_keyword_expansion

希望这会有所帮助。

答案 1 :(得分:1)

我检查了一般配置文件,该文件使用非版本化的.gitignore -d本地配置进行了修改。这似乎是标准的方式。

答案 2 :(得分:0)

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

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

但是,请检查示例web.config.sample,它允许新开发人员快速将文件复制为web.config以开始使用。您可能希望在项目的根目录上编写一个简单的脚本或README文件,以解释人们如何开始使用该项目。您还可以放置对项目不重要的其他用户特定文件,如.suo文件。