【问题标题】:Files to ignore when using Visual Studio with Git将 Visual Studio 与 Git 结合使用时要忽略的文件
【发布时间】:2010-12-13 05:21:24
【问题描述】:

我已安装 Git 以使用 Visual Studio 2008 进行一些开发。大部分工作将是新开发,但我们确实有一些 VS2005 之前的旧项目,我想将它们带入新存储库。有一个关于一般VS/Git integration 的现有线程,但我的问题仅限于 .gitignore 文件和 Visual Studio。

我的问题有两个部分:

  • .gitignore 文件中应包含哪些条目以涵盖 Visual Studio 特定文件,如二进制文件、程序集、调试文件等?上面提到的线程中已经介绍了一些,但是否有完整的集合?

  • 在什么情况下您需要全局排除文件,或针对单个存储库,或使用环境变量?

我已经知道怎么做。这是 Git user-manual 关于忽略文件的摘录。

如果您希望排除模式 仅影响某些存储库 (而不是每个存储库 给定项目),您可以改为放置 它们在存储库中的文件中 命名为 .git/info/exclude,或任何 指定的文件 core.excludes 文件配置 多变的。一些 git 命令也可以 直接在 命令行。见gitignore(5) 详情。

【问题讨论】:

  • 由于这是随时间变化的东西,我认为这个问题的最佳答案是由社区维护的列表。因此,我是否建议您将下面的“github”答案标记为该问题的正确答案。

标签: visual-studio git version-control development-environment


【解决方案1】:

【讨论】:

  • 这很好。该列表是完整的,.dll.exe 文件不会无缘无故地被忽略。典型的构建位置会被忽略。
  • 同意,尽可能使用社区策划的,因为它(理论上)代表最佳实践的共识,并且将包括您自己从未想到的东西。但是,确保期望被提交的事情实际上被提交(而不是被忽略)。相关的是 karan/joe,一个独立的 Go 可执行文件,它从同一个 github/gitignore 存储库下载 .gitignores。它非常适合经常在多种语言之间切换以进行新项目的人。
【解决方案2】:

在 GitExtensions 中,默认的 .gitignore 是这个。通过删除大多数单独的文件扩展名并且只排除它们所在的目录,它可能会有点缩短。

*.obj
*.exe
*.exp
*.pdb
*.dll
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.zip
[Dd]ebug*/
*.lib
*.sbr
Thumbs.db
[Ll]ib/
[Rr]elease*/
[Tt]est[Rr]esults/
_UpgradeReport_Files/
_ReSharper.*/

【讨论】:

  • 如果您在项目中包含 DLL 库,则排除 DLL 是个坏主意,例如第三方组件
  • 康拉德:然后做 .dll.shipped 并复制
【解决方案3】:

你应该忽略:

  • bin 目录
  • obj 目录
  • *.suo
  • *.user

【讨论】:

    【解决方案4】:

    如果你安装了node,你可以运行npx gitignore来生成.gitignore文件:

    npx gitignore VisualStudio
    

    【讨论】:

      猜你喜欢
      • 2013-12-24
      • 2010-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多