.gitignore untuk Proyek dan Solusi Visual Studio

1144

File mana yang harus saya sertakan .gitignoreketika menggunakan Git bersama dengan Visual Studio Solutions ( .sln) dan Proyek?

nik.shornikov
sumber
3
Pertanyaan terkait: stackoverflow.com/questions/72298/...
Greg Hewgill
1
Saya menjadikan ini sebagai wiki komunitas, dan telah menggabungkan semua jawaban yang ada ke dalam pos. Silakan berkontribusi sesuai keinginan Anda!
Martin Suchanek
12
Saya akan berhati-hati mengabaikan .exe dan .pdb, Anda mungkin secara tidak sengaja mengabaikan perkakas yang Anda simpan dengan sumber Anda (nant, nunit gui, dll ...).
James Gregory
2
@murki - sepertinya ini jawabannya: coderjournal.com/2011/12/…
Ronnie Overby
7
Dengan .slnfile-file yang dicek, kita mendapatkan perbedaan suara seperti -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 Apakah ini bisa dihindari?
Jean Jordaan

Jawaban:

592

Lihat "Koleksi templat .gitignore berguna" resmi GitHub .

Untuk .gitignoreVisual Studio dapat ditemukan di sini:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

Chronial
sumber
8
Tolong dicatat. File ini berisi entri untuk mengabaikan file yang dipublikasikan. Namun cara aturan ini ditulis, itu akan mengabaikan folder Apa pun yang Anda sebut "Terbitkan", dan karenanya akan mengabaikan apa pun yang Anda miliki di bawahnya. Itu tidak secara khusus menargetkan output Visual Studio "Publishing". Itu akan mengabaikannya, tetapi juga hal-hal lain.
Rex Whitten
6
@ starfighterxyz jika Anda berpikir ada bug di gitignore, saya akan merekomendasikan membuat permintaan tarik.
Kronik
9
Yah, saya tidak tahu (cukup?) Untuk mengatakan itu bug. Saya hanya senang menggunakan terbitkan / sebagai nama Controller, dan sebagai nama Folder Proyek. Saya pikir ini hanya kasus tepi. Hanya sesuatu untuk menyelamatkan beberapa jam hidup Anda :)
Rex Whitten
2
@Pelajar karena ini ada di file yang berbeda. Anda harus menambahkan ini ke gitignore global pribadi Anda, alih-alih memeriksanya. Github.com/github/gitignore/tree/master/Global
Chronial
1
@ErikAronesty Anda dapat membuat masalah atau PR di github repo. Tetapi *.usersudah diabaikan, yang termasuk .vcxproj.user.
Kronik
254

Ada alat online yang memungkinkan Anda menghasilkan file .gitignore berdasarkan OS, IDE, bahasa, dll. Lihatlah http://www.gitignore.io/ .

masukkan deskripsi gambar di sini

Pada 8/20/2014, inilah file yang dihasilkan untuk 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
sumber
Idealnya, itu akan mencakup lisensi di dalam file. (Idealnya, itu akan menjadi lisensi yang tidak menimbulkan pertanyaan di lingkungan perusahaan.)
Evgeni Sergeev
Juga, ini seharusnya .vs/, lihat di sini: stackoverflow.com/a/31879242/1143274
Evgeni Sergeev
110

Saya menggunakan .gitignore berikut untuk proyek C #. Pola tambahan ditambahkan saat dan ketika dibutuhkan.

[Oo]bj
[Bb]in
*.user
*.suo
*.[Cc]ache
*.bak
*.ncb
*.log 
*.DS_Store
[Tt]humbs.db 
_ReSharper.*
*.resharper
Ankh.NoLoad
Lachlan Roche
sumber
2
Tidak setuju dengan *.resharper. Pencocokan file *.ReSharper.userharus diabaikan, tetapi itu dipenuhi oleh *.useraturan di atas.
Drew Noakes
1
@DrewNoakes: Apa file ReSharper yang Anda yakini harus dikendalikan revisi?
Per Lundberg
4
@ PerLundberg Salah satu alasan yang patut dipertimbangkan adalah Anda dapat mengonfigurasi opsi pemformatan proyek standar, dll, dan menyimpan file konfigurasi dengan proyek tersebut. Jika ini ada di git, akan lebih mudah bagi semua orang yang menggunakan Resharper untuk menjaga agar proyek tetap diformat secara konsisten.
Marc
@DrewNoakes - Ada saran untuk ini ?
xameeramir
44

Bagi mereka yang tertarik dengan apa yang menurut Microsoft harus dimasukkan dalam gitignore, inilah yang default yang Visual Studio 2013 RTMsecara otomatis dihasilkan saat membuat Repositori Git baru:

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

Lihat: Menambahkan file .gitignore default di MSDN

Mobiletainment
sumber
37

Meskipun Anda harus menyimpan file NuGet packages.config Anda, Anda harus mengecualikan folder paket:

#NuGet
packages/

Saya biasanya tidak menyimpan binari, atau apa pun yang dihasilkan dari sumber saya, dalam kontrol sumber. Namun ada perbedaan pendapat mengenai hal ini. Jika itu membuat segalanya lebih mudah untuk sistem build Anda, lakukanlah! Akan tetapi, saya berpendapat bahwa Anda tidak membuat versi dependensi ini, jadi mereka hanya akan mengambil ruang di repositori Anda. Menyimpan binari di lokasi pusat, kemudian mengandalkan file paket.config untuk menunjukkan versi mana yang diperlukan adalah solusi yang lebih baik, menurut pendapat saya.

sgriffinusa
sumber
4
Adakah yang mau menjelaskan mengapa Anda ingin mengecualikan folder paket? tidakkah masuk akal untuk memasukkan paket-paket agar server build memiliki dependensi?
Joel Martinez
14
Perlu dicatat bahwa tim NuGet menerapkan fitur 'paket pemulihan' untuk masalah ini. Ada dokumen di situs NuGet yang menjelaskan fitur dan menjelaskan cara menggunakannya di Visual Studio.
ajk
4
Jika Anda mengabaikan paket dan menggunakan pengembalian paket nuget, akan sangat membantu untuk mengizinkan nuget.exe. Ketika seseorang mengunduh, ini membantu VS mengatakan bahwa fitur telah diaktifkan untuk solusi: !NuGet.exe<- jangan abaikan file ini.
danludwig
Bagi Anda yang menggunakan AppHarbor, perlu dicatat bahwa mengecualikan folder paket akan menyebabkan pembangunan Anda gagal diterapkan :)
Joel Martinez
18

Saya lebih suka mengecualikan hal-hal berdasarkan kebutuhan. Anda tidak ingin shotgun mengecualikan semuanya dengan string "bin" atau "obj" pada namanya. Setidaknya pastikan untuk mengikuti mereka dengan garis miring.

Inilah yang saya mulai dengan pada proyek VS2010:

bin/
obj/
*.suo
*.user

Dan hanya karena saya menggunakan ReSharper, juga ini:

_ReSharper*
Eben Geer
sumber
Setuju. Juga, ini berlaku untuk "debug". Tambahkan trailing slash ke ini untuk menghindari mengabaikan file dengan debug pada namanya.
John Korsnes
16

Saya mengerti ini adalah pertanyaan lama, masih berbagi informasi. Di Visual Studio 2017, Anda bisa klik kanan pada file solusi dan pilih Tambahkan solusi ke kontrol sumber

masukkan deskripsi gambar di sini

Ini akan menambahkan dua file ke folder sumber Anda.

  1. .gitattributes
  2. .gitignore

Ini cara termudah.

Sibeesh Venu
sumber
11

Pada Visual Studio 2015 Pembaruan 3, dan dengan ekstensi Git diperbarui pada hari ini (2016-10-24), .gitignore yang dihasilkan oleh Visual Studio adalah:

## 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
sumber
3
Saya menyukai bagian ini: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

Dalam Visual Studio 2015 Team Explorer> Repositori Local Git> Proyek> Pengaturan> Git> Pengaturan Repositori> Abaikan & Atribut File. Anda dapat menambahkan file .gitignore dengan item harus diabaikan dalam solusi visual studio secara default. masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Hamed Mahdizadeh
sumber
9

Menambahkan InstallShield mengabaikan untuk penyebaran pembangunan. InstallShield adalah arah baru Microsoft menuju Visual Studio Installer, jadi kami sudah mulai menggunakannya di semua proyek baru. Baris yang ditambahkan ini menghapus file instalasi SingleImage. Jenis InstallShield lain mungkin termasuk distribusi DVD antara lain. Anda mungkin ingin menambahkan nama-nama direktori atau hanya [Ee] xpress / untuk mencegah file penyebaran InstallShield LE masuk ke repo.

Ini adalah .gitignore kami untuk proyek VS2010 C # menggunakan Install Shield LE dengan penyebaran SingleImage untuk installer:

#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
~$*
Charleston Software Associates
sumber
1
Saya mengutip komentar James Gregory di sini: "Saya akan dengan hati-hati mengabaikan .exe dan .pdb, Anda mungkin secara tidak sengaja mengabaikan perkakas yang Anda simpan dengan sumber Anda (nant, nunit gui, dll ...). - James Gregory 21 Mei 10 di 13:32 "
Jim Raden
1
Tidak setuju dengan *.resharper. Pencocokan file *.ReSharper.userharus diabaikan, tetapi itu dipenuhi oleh *.useraturan di atas.
Drew Noakes
Hanya klarifikasi - itu sebenarnya memindahkan KEMBALI ke InstallShield, yang ada sebelumnya untuk penginstal VisualStudio, setidaknya sejauh 1998!
Mathieson
7

Saya tahu ini adalah utas lama tetapi bagi yang baru dan lama yang mengunjungi halaman ini, ada situs web yang disebut gitignore.io yang dapat menghasilkan file-file ini. Cari "visualstudio" pada saat mendarat di situs web dan itu akan menghasilkan file-file ini untuk Anda, juga Anda dapat memiliki beberapa bahasa / ides mengabaikan file disatukan ke dalam satu dokumen.

Cantik.

Opster Elasticsearch - Nathan
sumber
6

Berikut ini kutipan dari .gitignoreproyek baru yang saya kerjakan. Saya telah mengekstrak yang saya percaya terkait dengan Visual Studio, termasuk output kompilasi; ini adalah proyek lintas platform, jadi ada berbagai aturan abaikan lainnya untuk file yang dihasilkan oleh sistem build lain, dan saya tidak dapat menjamin bahwa saya memisahkannya dengan tepat.

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

Mungkin pertanyaan ini adalah Wiki Komunitas, jadi kita semua dapat mengedit bersama satu daftar master dengan komentar tentang file mana yang harus diabaikan untuk jenis proyek apa?

Brian Campbell
sumber
Lihat komentar James Gregory pada jawaban lain: "Saya akan dengan hati-hati mengabaikan .exe dan .pdb, Anda mungkin tidak sengaja mengabaikan perkakas yang Anda simpan dengan sumber Anda (nant, nunit gui, dll ...). - James Gregory 21 Mei '10 pada 13:32 "
Jim Raden
2
@ JimRaden Secara umum, yang terbaik adalah menghindari memeriksa dalam alat biner ke Git. Praktik terbaik adalah hanya memeriksa sumber Anda untuk Git; jika Anda memerlukan alat biner, sertakan skrip untuk menginstalnya atau submodule hanya dengan alat tersebut.
Brian Campbell
6

Kredit untuk Jens Lehmann untuk yang ini - jika Anda menyimpan direktori sumber terpisah untuk file proyek kompiler Anda dan membangun output, Anda bisa menyederhanakan .gitignore Anda dengan meniadakannya:

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

Anda tidak mengatakan bahasa apa yang Anda gunakan, tetapi yang di atas harus bekerja untuk proyek C ++.

Steve Folly
sumber
Saya tidak tahu bahwa ada bendera negasi di .gitignore. Tip bermanfaat!
Jim Raden
6

Terlambat ke pesta di sini, tetapi saya juga menemukan bahwa saya menggunakan yang berikut. Beberapa mungkin hanya berguna untuk menyembunyikan file sensitif saat mendorong ke remote publik .

#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
sumber
Versi terbaru tidak perlu secara eksplisit membatalkan nuget.exe
tofutim
@tofutim, versi terbaru apa? git sendiri?
danludwig
4

Ada pintasan di Visual Studio, karena mendukung Git di luar kotak pada tahun 2015 atau lebih. Untuk solusi baru (atau beberapa yang tidak memiliki .gitfolder) gunakan fitur kontrol sumber di Solution Explorer :

Klik kanan pada solusi Anda dan pilih Add Solution to Source Control...item di menu popup.

Itu secara otomatis menginisialisasi .gitrepositori, menambahkan .gitignore dengan hal-hal yang diperlukan untuk solusi Anda dan bahkan .gitattributesfile (akhir baris, dll.).

Teks akan muncul di konsol VS:

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

Selesai!

DenisKolodin
sumber
3

Inilah yang saya gunakan di .NET Projects untuk .gitignorefile saya .

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

Ini hampir semua pendekatan MS, yang menggunakan built in Visual Studio tester, dan proyek yang mungkin memiliki beberapa ikatan TFS di sana juga.

Nick Berardi
sumber
3

Seperti yang disebutkan oleh poster lain, Visual Studio membuat ini sebagai bagian dari .gitignore-nya (setidaknya untuk MVC 4):

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

Karena proyek Anda mungkin merupakan subfolder dari solusi Anda, dan file .gitignore disimpan di root solusi, ini sebenarnya tidak akan menyentuh file database lokal (Git melihatnya di projectfolder/App_Data/*.mdf). Untuk menjelaskan hal ini, saya mengubah baris-baris itu seperti:

# SQL Server files
*App_Data/*.mdf
*App_Data/*.ldf
StevenClontz
sumber
1
Sebenarnya, git mencocokkan pola relatif dengan subdirektori juga, kecuali jika Anda memulainya dengan " /", dalam hal ini mereka hanya cocok dengan hal-hal di direktori yang sama dengan .gitignorefile.
SamB
0

Beberapa proyek mungkin ingin menambah file studio visual*.manifest mereka .gitignore.io

Itu karena beberapa properti proyek Visual Studio proyek baru diatur untuk menghasilkan file manifes.

Lihat " Generasi Manifestasi dalam Visual Studio "

Tetapi jika Anda telah membuatnya dan mereka statis (tidak berubah dari waktu ke waktu), maka itu ide yang baik untuk menghapusnya dari .gitignorefile.

Itulah yang dilakukan proyek seperti Git untuk Windows (untuk Git 2.24, Q4 2019)

Lihat commit aac6ff7 (05 Sep 2019) oleh Johannes Schindelin ( dscho) .
(Digabung oleh Junio ​​C Hamano - gitster- di commit 59438be , 30 Sep 2019)

.gitignore: berhenti mengabaikan .manifestfile

Pada Windows, dimungkinkan untuk menanamkan metadata tambahan ke dalam executable dengan menautkan "manifes", yaitu dokumen XML yang menjelaskan kemampuan dan persyaratan (seperti versi Windows minimum atau maksimum).
Dokumen XML ini diharapkan disimpan dalam .manifestfile.

Setidaknya beberapa versi Visual Studio menghasilkan .manifestfile otomatis ketika tidak ada yang ditentukan secara eksplisit, oleh karena itu kami meminta Git mengabaikannya.

Namun, kami memiliki .manifestfile yang indah sekarang compat/win32/git.manifest:, jadi Visual Studio tidak juga membuat manifes untuk kami, kami juga tidak ingin Git mengabaikan .manifestfile lagi.

VONC
sumber
0

Anda dapat membuat atau mengedit file .gitignore untuk repo Anda dengan membuka tampilan Pengaturan di Team Explorer, lalu memilih Pengaturan Repositori. Pilih Edit untuk .gitignore Anda.

Secara otomatis membuat filter yang akan mengabaikan semua direktori membangun spesifik VS dll.

masukkan deskripsi gambar di sini

Info lebih lanjut lihat di sini .

CharithJ
sumber