应该忽略.config文件和bin文件夹吗?

时间:2015-12-12 06:25:19

标签: .net git version-control

处理.net项目中应该忽略的内容有什么好的做法?

我想这对某些条件是主观的,但是例如我有一个参考项目的二进制文件,而我团队中的另一个开发人员没有这个二进制文件的副本。我是否应该在.gitignore中添加bin文件夹并使用二进制文件集来构建源文件以便于复制到bin中?

另外,出于安全考虑,我们应该如何处理配置文件?是应该在.gitignore上添加还是应该删除与生产相关的凭据(例如连接字符串和应用程序设置中的某些键具有敏感值。)如果将配置文件添加到.gitignore,那么我们应该在哪里存储生产/开发配置文件?

我看一下gist.github.com上发布的几个.gitignore文件,我看到的所有文件都有bin而配置被忽略了。

1 个答案:

答案 0 :(得分:1)

github/gitignoregitignore.io都同意:

  • bin/(即ClientBin/)将被忽略 如果该二进制文件的源在项目中可用,则可以重建它 如果源代码位于另一个git仓库中,那么您的主git仓库可以将它们作为子模块引用 如果这些都不可能,那么二进制文件应该在工件引用中发布,如本地Nexus repo,并在项目中作为依赖项引用,在pom.xml中声明。

  • config/个文件不是
    但是,如果您的配置文件包含一些敏感信息,那么您可以使用content filter driver(起诉.gitattributes declaration)。 这允许在结账时从配置模板生成正确的配置文件,其中占位符由其实际值替换。只有该模板文件才会被版本化,而不是具有潜在敏感数据的实际配置文件。
    smudge
    ge来自“Customizing Git - Git Attributes”,来自“Pro Git book”)
    smudge脚本会根据环境用实际值替换占位符值(对于生产值尤其如此)。
    这些值显然会存储在任何git仓库中,位于安全的位置。