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

1145

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

ник.шорников
источник
3
Связанный вопрос: stackoverflow.com/questions/72298/…
Грег Хьюгилл
1
Я превратил это в вики сообщества и объединил все существующие ответы в посте. Пожалуйста, внесите свой вклад, как вы считаете нужным!
Мартин Суханек
12
Я был бы осторожен, игнорируя .exe и .pdb, вы можете непреднамеренно игнорировать инструменты, которые вы храните вместе с вашим источником (nant, nunit gui и т. Д.).
Джеймс Грегори
2
@murki - похоже, это ответ: coderjournal.com/2011/12/…
Ронни Оверби
7
С .slnпроверенными файлами мы получаем шумовые различия, такие как -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 Можно ли этого избежать?
Жан Джордаан

Ответы:

592

См. Официальный сборник GitHub "Коллекция полезных шаблонов .gitignore " .

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

хрониал
источник
8
Пожалуйста, обратите внимание. Этот файл содержит запись для игнорирования опубликованных файлов. Как бы ни было написано правило, оно будет игнорировать любую папку, которую вы назвали «Опубликовать», и поэтому будет игнорировать все, что у вас есть под ним. Он не предназначен специально для выходных данных Visual Studio «Публикация». Это будет игнорировать это, но и другие вещи.
Рекс Уиттен
6
@starfighterxyz, если вы считаете, что в gitignore есть ошибка, я бы порекомендовал создать запрос на извлечение.
Chronial
9
Ну, я не знаю (достаточно?), Чтобы сказать, что это ошибка. Я просто использовал публикацию / как имя контроллера и как имя папки проекта. Я думаю, что это просто крайний случай. Просто кое-что, чтобы сэкономить несколько часов вашей жизни :)
Рекс Уиттен
2
@Learner, потому что они находятся в разных файлах. Вы должны добавить их к вашему личному глобальному gitignore, вместо того , чтобы проверить их. Github.com/github/gitignore/tree/master/Global
Chronial
1
@ErikAronesty вы можете создать проблему или PR на GitHub репо. Но *.userуже игнорируется, что включает в себя .vcxproj.user.
Chronial
254

Существует онлайн-инструмент, который позволяет вам создавать файл .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
Мартин
источник
В идеале это будет включать в себя лицензию внутри файла. (В идеале это будет лицензия, которая не вызывает вопросов в корпоративной среде.)
Евгений Сергеев
Кроме того, это должно быть .vs/, см. Здесь: stackoverflow.com/a/31879242/1143274
Евгений Сергеев
110

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

[Oo]bj
[Bb]in
*.user
*.suo
*.[Cc]ache
*.bak
*.ncb
*.log 
*.DS_Store
[Tt]humbs.db 
_ReSharper.*
*.resharper
Ankh.NoLoad
Лахлан Рош
источник
2
Не согласен с *.resharper. Соответствие файлов *.ReSharper.userследует игнорировать, но это учитывается *.userправилом выше.
Дрю Ноукс
1
@DrewNoakes: Какие файлы ReSharper, по вашему мнению, должны контролироваться ревизиями?
За Лундберг
4
@PerLundberg Одной из причин, заслуживающих рассмотрения, является возможность настройки стандартных параметров форматирования проекта и т. Д., А также сохранение файлов конфигурации вместе с проектом. Если это в git, то всем, кто использует Resharper, будет легче поддерживать согласованный формат проекта.
Марк
@DrewNoakes - Есть предложения для этого, пожалуйста?
xameeramir
44

Для тех, кто интересуется тем, что 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
источник
37

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

#NuGet
packages/

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

оборота сгрифинуса
источник
4
Кто-нибудь хочет уточнить, почему вы хотите исключить папку пакетов? не имеет ли смысла включать пакеты для сервера сборки, чтобы иметь зависимости?
Джоэл Мартинес
14
Стоит отметить, что команда NuGet реализовала функцию «восстановления пакета» именно для этой проблемы. На сайте NuGet есть документ, который объясняет эту функцию и описывает, как ее использовать в Visual Studio.
Айк
4
Если вы игнорируете пакеты и используете восстановление пакетов nuget, полезно разрешить nuget.exe. Когда кто-то загружает, это говорит VS помогает сказать, что функция включена для решения: !NuGet.exe<- не игнорируйте этот файл.
Данлудвиг
Для тех из вас, кто использует AppHarbor, стоит отметить, что исключение папки пакетов приведет к сбою развертывания вашей сборки :)
Джоэль Мартинес
18

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

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

bin/
obj/
*.suo
*.user

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

_ReSharper*
Эбен Гир
источник
Согласен. Кроме того, это идет для «отладки». Добавьте косую черту к этому, чтобы избежать игнорирования файлов с отладкой в ​​имени.
Джон Корснес
16

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

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

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

  1. .gitattributes
  2. .gitignore

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

Сибееш Вену
источник
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
источник
3
Мне понравилась эта часть:Backup & report files from converting an old project file to a newer Visual Studio version. Backup files are not needed, because we have git ;-)
Jeancarlo Fontalvo
10

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

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

оборота Хамед Махдизаде
источник
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
~$*
Чарльстон Software Associates
источник
1
Я цитирую комментарий Джеймса Грегори здесь: «Я был бы осторожен, игнорируя файлы .exe и .pdb, вы можете непреднамеренно игнорировать инструменты, которые вы храните вместе с вашим источником (nant, nunit gui и т. Д.). - Джеймс Грегори 21 мая 2010 года в 13:32 "
Джим Раден
1
Не согласен с *.resharper. Соответствие файлов *.ReSharper.userследует игнорировать, но это учитывается *.userправилом выше.
Дрю Ноукс
Просто пояснение - это фактически перенос BACK в InstallShield, который существовал до установки VisualStudio, по крайней мере, еще в 1998 году!
Мэтисон
7

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

Прекрасный.

Opster Elasticsearch - Натан
источник
6

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

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

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

Брайан Кэмпбелл
источник
См. Комментарий Джеймса Грегори к другому ответу: «Я был бы осторожен, игнорируя файлы .exe и .pdb, вы можете непреднамеренно игнорировать инструменты, которые вы храните вместе с вашим источником (nant, nunit gui и т. Д.). - Джеймс Грегори 21 мая '10 в 13:32 "
Джим Раден
2
@JimRaden В общем, лучше не проверять двоичные инструменты в Git. Лучшая практика - проверять только ваш источник на Git; если вам нужны бинарные инструменты, включите скрипт для их установки или субмодуль только с этими инструментами.
Брайан Кэмпбелл
6

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

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

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

Стив Фолли
источник
Я не знал, что в .gitignore был флаг отрицания. Полезный совет!
Джим Раден
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
источник
В последней версии не нужно явно игнорировать nuget.exe
tofutim
@tofutim, последняя версия чего? мерзавец сам?
Данлудвиг
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.

Выполнено!

оборота ДенисКолодин
источник
3

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

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

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

Ник Берарди
источник
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
источник
1
На самом деле, git также соответствует шаблонам, относящимся к подкаталогам, если только вы не начинаете их с " /", и в этом случае они соответствуют только вещам в том же каталоге, что и .gitignoreфайл.
SamB
0

Некоторые проекты могут захотеть добавить *.manifestв свой файл Visual Studiogitignore.io .

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

Смотрите раздел «Генерация манифеста в Visual Studio ».

Но если вы сгенерировали их, и они статичны (не меняются с течением времени), рекомендуется удалить их из .gitignore файла.

Это то, что проект, как Git для Windows (для Git 2.24, Q4 2019)

См. Фиксацию aac6ff7 (05 сентября 2019 г.) Йоханнеса Шинделина ( dscho) .
(Слиты Junio C Hamano - gitster- в фиксации 59438be , 30 Sep 2019)

.gitignore: перестать игнорировать .manifestфайлы

В Windows можно встраивать дополнительные метаданные в исполняемый файл, связывая его в «манифесте», то есть в XML-документе, описывающем возможности и требования (например, минимальная или максимальная версия Windows).
Предполагается, что эти XML-документы будут храниться в .manifestфайлах.

По крайней мере, некоторые версии Visual Studio автоматически генерируются.manifest файлы, когда ни одна не указана явно, поэтому мы обычно просили Git игнорировать их.

Тем не менее, у нас теперь есть красивый .manifestфайл: compat/win32/git.manifestтак что Visual Studio не генерирует для нас и автоматически, и мы не хотим, чтобы Git больше игнорировал .manifestфайлы.

VonC
источник
0

Вы можете создать или отредактировать файл .gitignore для своего репозитория, перейдя в представление «Настройки» в Team Explorer и выбрав «Настройки репозитория». Выберите Edit для вашего .gitignore.

Он автоматически создает фильтры, которые игнорируют все директории сборки VS и т. Д.

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

Больше информации смотрите здесь .

CharithJ
источник