菜单

开发环境模板

相关源文件

目的与范围

本文档提供了关于集成开发环境(IDE)、代码编辑器和其他开发工具的 gitignore 模板的全面信息。这些模板有助于开发人员将 IDE 特定的文件和目录排除在版本控制之外,确保代码库保持干净,并专注于实际的项目代码,而不是工具生成的文件。

有关特定编程语言模板的信息,请参阅 编程语言模板。有关移动开发特定模板的信息,请参阅 移动开发模板

开发环境模板概览

开发环境模板是 gitignore 存储库中最重要的类别之一。这些模板会排除由开发工具自动生成的文件和目录,这些文件和目录通常不应提交到版本控制中。

来源: VisualStudio.gitignore Global/JetBrains.gitignore Global/Eclipse.gitignore Global/SublimeText.gitignore Global/Vim.gitignore Global/Emacs.gitignore Unity.gitignore

排除文件的常见类别

开发环境生成了多类文件,这些文件通常会被排除在版本控制之外。

来源: VisualStudio.gitignore6-11 Global/JetBrains.gitignore4-9 Global/Eclipse.gitignore1-11 Global/SublimeText.gitignore6-8 Global/Vim.gitignore1-7 Global/Emacs.gitignore1-9 Unity.gitignore5-12

排除原因

文件类别排除原因示例模式
用户特定设置包含个人偏好和本地路径*.user, .idea/**/workspace.xml
构建输出可重新生成的编译代码bin/, obj/, out/
缓存文件为提高性能而生成,易于重新创建.vs/, .gradle/
工作区状态包含会话特定信息*.sublime-workspace, .vscode/*
调试产物包含调试/测试信息TestResults/, [Dd]ebug/
日志文件VCS 中不需要的诊断信息*.log, *.svclog

来源: VisualStudio.gitignore6-101 Global/JetBrains.gitignore4-77 Global/Eclipse.gitignore1-60 Unity.gitignore5-74

主要的开发环境模板

Visual Studio 和 .NET

Visual Studio 是最全面的 IDE 之一,它会生成大量应排除在版本控制之外的文件。Visual Studio 的模板是仓库中最详尽的。

主要排除的模式包括

# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates

# Build results
[Dd]ebug/
[Rr]elease/
[Bb]in/
[Oo]bj/
[Ll]og/

# Visual Studio cache/options
.vs/

来源: VisualStudio.gitignore6-36

JetBrains IDE

JetBrains 生产各种 IDE,包括 IntelliJ IDEA、PyCharm、WebStorm 和 Rider。其模板涵盖了所有这些工具的常见模式。

主要排除的模式包括

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Gradle and Maven
.idea/**/gradle.xml
.idea/**/libraries

# File-based project format
*.iws

# IntelliJ
out/

来源: Global/JetBrains.gitignore4-54

Eclipse 和 Java 开发

Eclipse 是 Java 和其他语言的流行 IDE。其模板会排除工作区配置文件和构建输出。

主要排除的模式包括

.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
.settings/
.loadpath
.recommenders

# Java annotation processor
.factorypath

来源: Global/Eclipse.gitignore1-29 Java.gitignore1-24

Unity 游戏开发

Unity 的模板专注于游戏开发,处理大量生成的文件和资源。

主要排除的模式包括

/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/

# Memory and performance data
/[Mm]emoryCaptures/
/[Rr]ecordings/

来源: Unity.gitignore5-19

文本编辑器

Sublime Text、Vim 和 Emacs 等文本编辑器有各自的 gitignore 模板,其中包含特定于每个编辑器操作的模式。

来源: Global/SublimeText.gitignore1-31 Global/Vim.gitignore1-19 Global/Emacs.gitignore1-48

与平台模板的集成

开发环境模板通常需要与平台特定模板(如操作系统模板)结合使用,以实现全面的覆盖。

操作系统集成

操作系统会生成可能干扰开发的文件,应予以排除

操作系统主要排除的文件目的
WindowsThumbs.db, *.lnk, Desktop.ini系统生成的文件
macOS.DS_Store, .AppleDouble, ._*Finder 元数据
Linux.directory, *~文件浏览器和临时文件

来源: Global/Windows.gitignore1-24 Global/macOS.gitignore1-27

模板选择与组合策略

在设置项目时,开发人员应根据

来源: VisualStudio.gitignore Global/JetBrains.gitignore Global/Eclipse.gitignore Unity.gitignore Python.gitignore Java.gitignore Global/Windows.gitignore Global/macOS.gitignore

跨开发环境的常见类别

尽管存在差异,开发环境在应被排除的文件方面存在一些共同的类别

类别Visual StudioJetBrainsEclipseUnity
用户设置*.user, *.suo.idea/**/workspace.xml.settings//[Uu]ser[Ss]ettings/
构建输出bin/, obj/out/bin//[Bb]uild/, /[Bb]uilds/
缓存文件.vs/.idea/caches/.cache-main/[Ll]ibrary/
日志*.log, [Ll]og/*.log不适用/[Ll]ogs/
调试数据[Dd]ebug/, *.pdb不适用不适用/[Mm]emoryCaptures/
工作区状态*.sln.docstates.idea/**/tasks.xml.metadata*.pidb
生成的代码Generated Files/contentModel.xml.apt_generated//[Aa]ssets/[Ss]treamingAssets/aa/*

来源: VisualStudio.gitignore6-400 Global/JetBrains.gitignore4-77 Global/Eclipse.gitignore1-60 Unity.gitignore5-74

结论

开发环境模板对于通过排除特定于工具的文件来维护干净的存储库至关重要。通过为您的开发环境、语言和操作系统选择合适的模板,您可以确保只有相关的源代码被跟踪在版本控制中。

有关特定开发环境的详细信息,请参阅子页面