当前位置: 首页 > news >正文

Visual Studio 项目 .gitignore 文件指南

Visual Studio 项目 .gitignore 文件指南

什么是 .gitignore?

.gitignore 是一个特殊的文件,用于告诉 Git 哪些文件或文件夹不需要纳入版本控制。这对于 Visual Studio 项目尤其重要,因为 Visual Studio 会生成很多你不需要手动管理的文件。

.gitignore 的作用

  • 避免混乱:Visual Studio 会生成很多临时文件,这些文件不需要上传到 Git
  • 保护隐私:某些文件可能包含敏感信息(如用户设置或调试日志)
  • 提高效率:忽略不必要的文件可以让 Git 更快地工作

简洁版 .gitignore 文件

以下是一个适合新手的 .gitignore 文件内容,你可以直接复制使用:

# 忽略调试和构建输出
bin/
obj/
Debug/
Release/# 忽略用户特定文件
*.suo
*.user
*.vs/# 忽略临时文件
*.tmp
*.log# 忽略 NuGet 包
packages/
*.nupkg# 忽略 ReSharper 文件
_ReSharper*/
*.resharper# 忽略 VSCode 文件
.vscode/

全面版 .gitignore 文件

如果你需要更全面的 .gitignore 文件,可以使用以下内容:

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs# Mono auto generated files
mono_crash.*# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/# Visual Studio 2017 auto generated files
Generated\ Files/# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c# Benchmark Results
BenchmarkDotNet.Artifacts/# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/# ASP.NET Scaffolding
ScaffoldingReadMe.txt# StyleCop
StyleCopReport.xml# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
# but not Directory.Build.rsp, as it configures directory-level build defaults
!Directory.Build.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc# Chutzpah Test files
_Chutzpah*# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap# Visual Studio Trace Files
*.e2e# TFS 2012 Local Workspace
$tf/# Guidance Automation Toolkit
*.gpState# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user# TeamCity is a build add-in
_TeamCity*# DotCover is a Code Coverage Tool
*.dotCover# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info# Visual Studio code coverage results
*.coverage
*.coveragexml# NCrunch
_NCrunch_*
.NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*# MightyMoose
*.mm.*
AutoTest.Net/# Web workbench (sass)
.sass-cache/# Installshield output folder
[Ee]xpress/# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html# Click-Once directory
publish/# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets# Microsoft Azure Build Output
csx/
*.build.csdef# Microsoft Azure Emulator
ecf/
rcf/# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/# RIA/Silverlight projects
Generated_Code/# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak# SQL Server files
*.mdf
*.ldf
*.ndf# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl# Microsoft Fakes
FakesAssemblies/# GhostDoc plugin setting file
*.GhostDoc.xml# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/# Visual Studio 6 build log
*.plg# Visual Studio 6 workspace options file
*.opt# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp# Visual Studio 6 technical files
*.ncb
*.aps# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions# Paket dependency manager
.paket/paket.exe
paket-files/# FAKE - F# Make
.fake/# CodeRush personal settings
.cr/personal# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config# Tabs Studio
*.tss# Telerik's JustMock configuration file
*.jmconfig# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs# OpenCover UI analysis results
OpenCover/# Azure Stream Analytics local run output
ASALocalRun/# MSBuild Binary and Structured Log
*.binlog# NVidia Nsight GPU debugger configuration file
*.nvuser# MFractors (Xamarin productivity tool) working folder
.mfractor/# Local History for Visual Studio
.localhistory/# Visual Studio History (VSHistory) files
.vshistory/# BeatPulse healthcheck temp database
healthchecksdb# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/# Ionide (cross platform F# VS Code tools) working folder
.ionide/# Fody - auto-generated XML schema
FodyWeavers.xsd# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace# Local History for Visual Studio Code
.history/# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp# JetBrains Rider
*.sln.iml

如何使用 .gitignore?

  1. 打开你的 Visual Studio 项目文件夹
  2. 创建一个名为 .gitignore 的文件(注意没有文件扩展名)
  3. 将上面的内容复制到这个文件中
  4. 保存文件

注意事项

  • 不要忽略 .sln 文件(解决方案文件)
  • 不要忽略 .csproj 文件(项目文件)
  • 如果你发现某些文件被意外忽略了,检查 .gitignore 文件中是否有匹配的规则

权威参考

如果你想查看更全面的 .gitignore 文件,可以参考:

  • GitHub 官方 Visual Studio .gitignore 文件

相关文章:

  • 在 Qt Creator 中为 QDockWidget 设置隐藏和显示按钮
  • 通过anaconda安装jupyter
  • 【Redis 进阶】缓存
  • Mac显卡的工作原理及特殊之处
  • 【 Redis | 实战篇 秒杀实现 】
  • 移动端(手机)ECharts 的myChart.on(‘click‘,还生效吗我怎么触发不了,没得鼠标触发不了点击事件
  • Qt事件循环机制
  • 光谱相机的光电信号转换
  • lubuntu 系统详解
  • 【FMMT】基于模糊多模态变压器模型的个性化情感分析
  • 访问层架构设计:第二篇
  • 大模型中的KV Cache
  • 思迈特软件携手天阳科技,打造ChatBI金融智能分析新标杆
  • 【并发编程基石】CAS无锁算法详解:原理、实现与应用场景
  • Docker环境下的Apache NiFi安装实践踩坑记录
  • 设计模式系列(02):设计原则(一):SRP、OCP、LSP
  • milvus+flask山寨《从零构建向量数据库》第7章case2
  • 加速AI在k8s上使用GPU卡
  • swift flask python ipad当电脑键盘 实现osu x键和z键 长按逻辑有问题 quart 11毫秒
  • Java鼠标事件监听器MouseListener、MouseMotionListener和MouseWheelListener
  • 长沙查处疑似非法代孕:有人企图跳窗,有女子被麻醉躺手术台
  • 人大新闻教育70年丨16759门课程里的时代密码
  • 水豚“豆包”出逃已40天,扬州茱萸湾景区追加悬赏
  • 呼和浩特推进新一轮国企重组整合:杜绝一项目一公司、一业务一公司
  • 洗冤录|县令遇豪强:黄榦处理的一起地产纠纷案
  • 心相印回应官方旗舰店客服辱骂消费者:正排查