.gitignore для проектов и решений Visual Studio

git visual-studio visual-studio-2012 gitignore

325336 просмотра

18 ответа

Какие файлы следует включать .gitignoreпри использовании Git в сочетании с решениями Visual Studio ( .sln) и Projects?

Автор: Martin Suchanek Источник Размещён: 23.07.2019 01:53

Ответы (18)


561 плюса

Смотрите официальную коллекцию полезных шаблонов .gitignore на GitHub .

Для .gitignoreVisual Studio можно найти здесь:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

Автор: Chronial Размещён: 13.01.2012 06:56

231 плюса

Существует онлайн-инструмент, который позволяет вам создавать файл .gitignore на основе вашей ОС, IDE, языка и т. Д. Посмотрите на http://www.gitignore.io/ .

введите описание изображения здесь

20.08.2014, вот файл, созданный для Visual Studio + Windows.

# Created by http://www.gitignore.io

### VisualStudio ###
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

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

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/

# Roslyn cache directories
*.ide/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

#NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding addin-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
_NCrunch_*
.*crunch*.local.xml

# 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
# TODO: 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

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# If using the old MSBuild-Integrated Package Restore, uncomment this:
#!**/packages/repositories.config

# Windows Azure Build Output
csx/
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/

# 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

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings

# Microsoft Fakes
FakesAssemblies/


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp
Автор: Martin Размещён: 08.03.2014 08:34

110 плюса

Я использую следующий .gitignore для C # проектов. Дополнительные шаблоны добавляются по мере необходимости.

[Oo]bj
[Bb]in
*.user
*.suo
*.[Cc]ache
*.bak
*.ncb
*.log 
*.DS_Store
[Tt]humbs.db 
_ReSharper.*
*.resharper
Ankh.NoLoad
Автор: Lachlan Roche Размещён: 27.01.2010 01:57

45 плюса

Для тех, кто интересуется тем, что Microsoft считает необходимым включить в gitignore, вот вариант по умолчанию, который Visual Studio 2013 RTMавтоматически генерируется при создании нового Git-репозитория:

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

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

# Build results

[Dd]ebug/
[Rr]elease/
x64/
build/
[Bb]in/
[Oo]bj/

# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
!packages/*/build/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.log
*.scc

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
*.ncrunch*
.*crunch*.local.xml

# 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
*.Publish.xml

# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
#packages/

# Windows Azure Build Output
csx
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings

# 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

# SQL Server files
App_Data/*.mdf
App_Data/*.ldf


#LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml

# =========================
# Windows detritus
# =========================

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Mac desktop service store files
.DS_Store

См .: Добавить файл .gitignore по умолчанию на MSDN.

Автор: Mobiletainment Размещён: 27.10.2013 11:55

37 плюса

Хотя вы должны сохранить файл NuGet packages.config, вы должны исключить папку пакетов:

#NuGet
packages/

Обычно я не храню двоичные файлы или что-либо, сгенерированное из моего источника, в системе контроля версий. Однако по этому поводу существуют разные мнения. Если это облегчает вашу систему сборки, сделайте это! Однако я бы сказал, что вы не управляете этими зависимостями, поэтому они просто займут место в вашем хранилище. На мой взгляд, лучшее решение - хранить двоичные файлы в центральном месте, а затем полагаться на файл packages.config, чтобы указать, какая версия нужна.

Автор: sgriffinusa Размещён: 25.09.2011 06:27

16 плюса

Я предпочитаю исключать вещи по мере необходимости. Вы не хотите, чтобы дробовик исключал все со строкой "bin" или "obj" в названии. По крайней мере , обязательно следуйте за ними с косой чертой.

Вот что я начинаю с проекта VS2010:

bin/
obj/
*.suo
*.user

И только потому, что я использую ReSharper, также это:

_ReSharper*
Автор: Eben Geer Размещён: 26.12.2011 08:10

11 плюса

В Visual Studio 2015 с обновлением 3 и с расширением Git, обновленным на сегодняшний день (2016-10-24), .gitignore, сгенерированный Visual Studio:

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

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

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
[Xx]64/
[Xx]86/
[Bb]uild/
bld/
[Bb]in/
[Oo]bj/

# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# DNX
project.lock.json
artifacts/

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding add-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# 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

# TODO: Un-comment the next line if you do not want to checkin 
# your web deploy settings because they may include unencrypted
# passwords
#*.pubxml
*.publishproj

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Microsoft Azure ApplicationInsights config file
ApplicationInsights.config

# Windows Store app package directory
AppPackages/
BundleArtifacts/

# 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/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs

# 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

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# LightSwitch generated files
GeneratedArtifacts/
ModelManifest.xml

# Paket dependency manager
.paket/paket.exe

# FAKE - F# Make
.fake/
Автор: Rui Bruno Mendes Размещён: 24.10.2016 02:04

9 плюса

Добавленный InstallShield игнорирует для развертывания сборки. InstallShield - это новое направление, которое Microsoft возглавляет над установщиком Visual Studio, поэтому мы начали использовать его во всех новых проектах. Эта добавленная строка удаляет установочные файлы SingleImage. Другие типы InstallShield могут включать распространение DVD среди других. Вы можете добавить эти имена каталогов или просто [Ee] xpress / для предотвращения попадания любых файлов установки InstallShield LE в репозиторий.

Вот наш .gitignore для проектов VS2010 C #, использующих Install Shield LE с развертываниями SingleImage для установщика:

#OS junk files
[Tt]humbs.db
*.DS_Store

#Visual Studio files
*.[Oo]bj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
ipch/
obj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad

#InstallShield
[Ss]ingle[Ii]mage/
[Dd][Vv][Dd]-5/
[Ii]nterm/

#Tooling
_ReSharper*/
*.resharper
[Tt]est[Rr]esult*

#Project files
[Bb]uild/

#Subversion files
.svn

# Office Temp Files
~$*
Автор: Lance Cleveland Размещён: 29.03.2011 05:26

6 плюса

Вот выдержка из .gitignoreнедавнего проекта, над которым я работал. Я извлек те, которые, как мне кажется, связаны с Visual Studio, включая результаты компиляции; это кроссплатформенный проект, поэтому существуют различные другие правила игнорирования для файлов, созданных другими системами сборки, и я не могу гарантировать, что я точно их выделил.

*.dll
*.exe
*.exp
*.ilk
*.lib
*.ncb
*.log
*.pdb
*.vcproj.*.user
[Dd]ebug
[Rr]elease

Возможно, этот вопрос должен быть вики-сообщества, так что мы все можем редактировать один общий список с комментариями о том, какие файлы следует игнорировать для каких типов проектов?

Автор: Brian Campbell Размещён: 27.01.2010 04:42

6 плюса

Благодарим Дженса Леманна за это - если вы храните исходные каталоги отдельно от файлов проекта компилятора и строите выходные данные, вы можете упростить ваш .gitignore, отрицая его:

path/to/build/directory/*
!*.sln
!*.vcproj

Вы не говорите, какой язык (языки) вы используете, но вышесказанное должно работать для проектов C ++.

Автор: Steve Folly Размещён: 27.01.2010 06:28

6 плюса

Опоздал на вечеринку здесь, но я также обнаружил, что я использую следующее. Некоторые могут быть полезны только для сокрытия конфиденциальных файлов при передаче на общедоступный пульт.

#Ignore email files delivered to specified pickup directory
*.eml

#Allow NuGet.exe (do not ignore)
!NuGet.exe

#Ignore WebDeploy publish profiles
*.Publish.xml

#Ignore Azure build csdef & Pubxml files
ServiceDefinition.build.csdef
*.azurePubxml

#Allow ReSharper .DotSettings (for non-namespace-provider properties)
!*.csproj.DotSettings

#Ignore private folder
/Private/
Автор: danludwig Размещён: 25.06.2012 06:47

6 плюса

Я знаю, что это старая ветка, но для новых и старых, которые посещают эту страницу, существует веб-сайт gitignore.io, который может генерировать эти файлы. Поищите «visualstudio» при входе на сайт, и он сгенерирует эти файлы для вас, также вы можете иметь несколько языков / идентификаторов, игнорируя файлы, объединенные в один документ.

Красивая.

Автор: Nathan Размещён: 12.09.2013 02:48

6 плюса

В Visual Studio 2015 Team Explorer> Локальные репозитории Git> Проект> Настройки> Git> Настройки репозитория> Игнорировать и файлы атрибутов. Вы можете добавить файл .gitignore с элементами, которые по умолчанию игнорируются в решениях Visual Studio. введите описание изображения здесь

введите описание изображения здесь

Автор: Hamed Mahdizadeh Размещён: 20.01.2018 08:48

6 плюса

Я понимаю, что это старый вопрос, по-прежнему делиться информацией. В Visual Studio 2017 вы можете просто щелкнуть правой кнопкой мыши файл решения и выбрать « Добавить решение в систему контроля версий».

введите описание изображения здесь

Это добавит два файла в вашу исходную папку.

  1. .gitattributes
  2. .gitignore

Это самый простой способ.

Автор: Sibeesh Venu Размещён: 03.12.2018 11:50

5 плюса

Если вы используете dbproj в своем решении, вам нужно добавить следующее:

#Visual Studio DB Project
*.dbmdl
[Ss]ql/

Источник: http://blogs.msdn.com/b/bahill/archive/2009/07/31/come-visit-revisit-the-beer-house-continuous-integration.aspx

Автор: Will Tartak Размещён: 02.02.2012 12:15

4 плюса

В Visual Studio есть ярлык , потому что он поддерживает Git из коробки в 2015 году или выше. Для новых решений (или некоторых, у которых нет .gitпапки) используйте функции контроля версий в обозревателе решений :

Щелкните правой кнопкой мыши по вашему решению и выберите Add Solution to Source Control...пункт во всплывающем меню.

Он автоматически инициализирует .gitрепозиторий, добавляет .gitignore необходимые вещи в ваше решение и даже .gitattributesфайл (окончания строк и т. Д.).

Текст появится в консоли VS:

A new Git repository has been created for you in C:\<path to your solution>
Commit ______ created locally in repository.

Готово!

Автор: DenisKolodin Размещён: 22.05.2017 09:46

3 плюса

Вот что я использую в своих .NET проектах для своего .gitignoreфайла.

[Oo]bj/
[Bb]in/
*.suo
*.user
/TestResults
*.vspscc
*.vssscc

Это в значительной степени подход MS, который использует встроенный тестер Visual Studio и проект, который также может иметь некоторые привязки TFS.

Автор: Nick Berardi Размещён: 21.05.2010 01:27

3 плюса

Как упомянуто другим автором, Visual Studio генерирует это как часть своего .gitignore (по крайней мере для MVC 4):

# SQL Server files
App_Data/*.mdf
App_Data/*.ldf

Поскольку ваш проект может быть вложенной папкой вашего решения, а файл .gitignore хранится в корне решения, это на самом деле не затронет файлы локальной базы данных (Git видит их в projectfolder/App_Data/*.mdf). Чтобы учесть это, я изменил эти строки так:

# SQL Server files
*App_Data/*.mdf
*App_Data/*.ldf
Автор: StevenClontz Размещён: 10.02.2014 01:54
Вопросы из категории :
32x32