Visual Studio Projeleri ve Çözümleri için .gitignore


1144

Git'i Visual Studio Solutions ( ) ve Projects ile birlikte .gitignorekullanırken hangi dosyaları dahil etmeliyim ?.sln



1
Bunu bir topluluk wiki'sinde yaptım ve mevcut tüm cevapları gönderide birleştirdim. Lütfen uygun gördüğünüz gibi katkıda bulunun!
Martin Suchanek

12
Ben .exe ve .pdb's göz ardı dikkatli olun, yanlışlıkla kaynağı (nant, nunit gui, vb ...) ile sakladığınız takım görmezden gelebilir.
James Gregory

2
@murki - cevabı böyle görünüyor: coderjournal.com/2011/12/…
Ronnie Overby

7
Teslim edilen .slndosyalar ile, -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 bu önlenebilir mi? Gibi gürültü farkları alırız.
Jean Jordaan

Yanıtlar:


592

8
Lütfen aklınızda bulundurun. Bu dosya, yayınlanan dosyaları yok saymak için bir giriş içeriyor. Ancak kuralın yazılma şekli, "Yayınla" adını verdiğiniz herhangi bir klasörü yoksayar ve altında bulunan her şeyi göz ardı eder. Özellikle Visual Studio "Publishing" çıktısını hedeflemez. Onu görmezden gelecek, ama başka şeyler de.
Rex Whitten

6
@starfighterxyz gitignore'da bir hata olduğunu düşünüyorsanız, bir çekme isteği oluşturmanızı tavsiye ederim.
Chronial

9
Eh, bilmiyorum (yeterli?) Bir hata olduğunu söylemek için. Yayınlama / Denetleyici adı ve Proje Klasörü adları olarak kullanıyorum. Bence bu sadece önemli bir durum. Hayatınızın birkaç saatini kurtaracak bir şey :)
Rex Whitten

2
@ Öğrenci çünkü bunlar farklı dosyalarda. Bunları kontrol etmek yerine kişisel global gitignore'unuza eklemelisiniz. Github.com/github/gitignore/tree/master/Global
Chronial

1
@ErikAronesty, github deposunda bir sorun veya PR oluşturabilirsiniz. Ancak *.userzaten dikkate alınmaz .vcxproj.user.
Chronial

254

İşletim sisteminize, IDE'nize, dilinize vb. Dayalı .gitignore dosyası oluşturmanıza olanak tanıyan çevrimiçi bir araç vardır . Http://www.gitignore.io/ adresine bakın .

resim açıklamasını buraya girin

8/20/2014 tarihinde, Visual Studio + Windows için oluşturulan dosya İşte.

# 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

İdeal olarak, dosyanın içinde bir lisans içerir. (İdeal olarak, bu, kurumsal bir ortamda hiçbir soru sormayan bir lisans olacaktır.)
Evgeni Sergeev

Ayrıca, bu olmalı .vs/, buraya bakın: stackoverflow.com/a/31879242/1143274
Evgeni Sergeev

110

C # projeleri için aşağıdaki .gitignore kullanın. İhtiyaç duyulduğu anda ve ek desenler eklenir.

[Oo]bj
[Bb]in
*.user
*.suo
*.[Cc]ache
*.bak
*.ncb
*.log 
*.DS_Store
[Tt]humbs.db 
_ReSharper.*
*.resharper
Ankh.NoLoad

2
Kabul etmiyorum *.resharper. Eşleşen dosyalar *.ReSharper.usergöz ardı edilmelidir, ancak bu *.useryukarıdaki kural tarafından sağlanır .
Drew Noakes

1
@DrewNoakes: Düzeltme kontrolü yapılması gerektiğini düşündüğünüz ReSharper dosyaları nelerdir?
Per Lundberg

4
@PerLundberg Dikkate değer bir neden, standart proje biçimlendirme seçeneklerini, vb. Yapılandırabilir ve yapılandırma dosyalarını proje ile kaydedebilirsiniz. Bu git ise, Resharper kullanan herkesin projeyi tutarlı bir şekilde biçimlendirmesini kolaylaştırır.
Marc

@DrewNoakes - için herhangi bir öneriniz bu lütfen?
xameeramir

44

Ne ilgilenenler için Microsoft gitignore dahil edilmelidir düşünüyor, burada varsayılan biri Visual Studio 2013 RTMyeni Git-Deposu'nun oluştururken otomatik olarak oluşturur:

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

Bkz . MSDN'de varsayılan bir .gitignore dosyası ekleme


37

NuGet Packages.config dosyanızı korurken, Packages klasörünü hariç tutmalısınız:

#NuGet
packages/

Genellikle ikili dosyaları veya kaynağımdan üretilen herhangi bir şeyi kaynak denetiminde depolamam. Ancak bu konuda farklı görüşler var. Yapı sisteminiz için işleri kolaylaştırırsa yapın! Bununla birlikte, bu bağımlılıkları versiyonlamadığınızı iddia ediyorum, bu yüzden sadece deponuzda yer kaplayacaklar. İkili dosyaları merkezi bir konumda saklamak, sonra hangi sürümün gerekli olduğunu belirtmek için Packages.config dosyasına güvenmek bence daha iyi bir çözümdür.


4
kimse neden paketleri klasörü dışlamak istediğiniz üzerinde durmak ister? yapı sunucusunun bağımlılıklara sahip olması için paketleri dahil etmek mantıklı değil mi?
Joel Martinez

14
NuGet ekibinin tam olarak bu sorun için 'paket geri yükleme' özelliğini uyguladığını belirtmek gerekir. NuGet sitesinde, özelliği açıklayan ve Visual Studio'da nasıl kullanılacağını açıklayan bir belge var.
ajk

4
Paketleri yok sayarsanız ve nuget paketi geri yüklemesini kullanıyorsanız, nuget.exe dosyasına izin vermek yararlıdır. Birisi indirdiğinde, bu VS'ye özelliğin çözüm için etkinleştirildiğini söylemesine yardımcı olur: !NuGet.exe<- bu dosyayı yoksaymayın.
danludwig

AppHarbor kullananlarınız için, paketleri klasörünü hariç tutmanın yapınızın dağıtımının başarısız olmasına neden olacağını belirtmek gerekir :)
Joel Martinez

18

Her şeyi gerektiği gibi hariç tutmayı tercih ederim. Av tüfeği adında "bin" veya "obj" dizesiyle olan her şeyi hariç tutmak istemezsiniz. En azından eğik çizgi olanları takip ettiğinizden emin olun.

VS2010 projesinde başladım:

bin/
obj/
*.suo
*.user

Ve sadece ReSharper kullandığım için, bu da:

_ReSharper*

Katılıyorum. Ayrıca, bu "hata ayıklama" için de geçerlidir. Adında hata ayıklama olan dosyaları yok saymamak için sonuna eğik çizgi ekleyin.
John Korsnes

16

Bunun eski bir soru olduğunu anlıyorum, hala bilgi paylaşıyor. Visual Studio 2017'de, çözüm dosyasını sağ tıklatıp Kaynak denetimine çözüm ekle'yi seçebilirsiniz.

resim açıklamasını buraya girin

Bu, kaynak klasörünüze iki dosya ekleyecektir.

  1. .gitattributes
  2. .gitignore

Bu en kolay yol.


11

Visual Studio 2015 Güncelleştirme 3'te ve Git uzantısı bugün (2016-10-24) itibariyle güncellendiğinde, Visual Studio tarafından oluşturulan .gitignore :

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

3
Bu bölümü çok sevdim: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'da> Yerel Git Depoları> Proje> Ayarlar> Git> Depo Ayarları> Dosyaları Yoksay ve Öznitelik Dosyaları olarak ekleyebilirsiniz. resim açıklamasını buraya girin

resim açıklamasını buraya girin


9

Eklenen InstallShield, derleme dağıtımı için yok sayar. InstallShield, Microsoft'un Visual Studio Installer'a yöneldiği yeni yoldur, bu yüzden tüm yeni projelerde kullanmaya başladık. Bu eklenen satır SingleImage kurulum dosyalarını kaldırır. Diğer InstallShield türleri diğerleri arasında DVD dağıtımı içerebilir. Herhangi bir InstallShield LE dağıtım dosyasının depoya girmesini önlemek için bu dizin adlarını eklemek veya yalnızca [Ee] xpress / komutunu kullanmak isteyebilirsiniz.

Yükleyici için SingleImage dağıtımlarıyla Install Shield LE kullanan VS2010 C # projeleri için .gitignore'umuz:

#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
~$*

1
James Gregory'nin buraya yaptığı yorumu alıntılıyorum: ".exe ve .pdb'leri görmezden gelmeye dikkat ediyorum, yanlışlıkla kaynağınızla (nant, nunit gui, vb ...) sakladığınız takımları görmezden gelebilirsiniz. - James Gregory 21 '10 at 13:32 "
Jim Raden

1
Kabul etmiyorum *.resharper. Eşleşen dosyalar *.ReSharper.usergöz ardı edilmelidir, ancak bu *.useryukarıdaki kural tarafından sağlanır .
Drew Noakes

Sadece bir açıklama - aslında BACK'i VisualStudio yükleyicisinden önce var olan InstallShield'a taşıyor, en azından 1998'e kadar!
Mathieson

7

Bu eski bir konu olduğunu biliyorum ama bu sayfayı ziyaret yeni ve eski için gitignore.io adlı bir web sitesi var bu dosyaları oluşturabilir . Arama "visualstudio" web sitesinde açılış üzerine ve sizin için bu dosyaları üretecek, ayrıca birden fazla dil / ides bir belgede birleştirilmiş dosyaları yok saymak olabilir.

Güzel.


6

İşte .gitignoreüzerinde çalıştığım yakın tarihli bir projeden bir alıntı . Derleme çıktıları da dahil olmak üzere Visual Studio ile ilgili olduğuna inandığımları çıkardım; bu bir çapraz platform projesi, bu yüzden diğer derleme sistemleri tarafından üretilen dosyalar için başka yoksayma kuralları var ve bunları tam olarak ayırdığımı garanti edemiyorum.

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

Belki de bu soru Topluluk Wiki olmalıdır, bu yüzden hepimiz hangi ana proje türleri için hangi dosyaların göz ardı edilmesi gerektiği konusunda yorumlarla birlikte bir ana listeyi düzenleyebiliriz?


James Gregory'nin başka bir cevap hakkındaki yorumuna bakın: ".exe ve .pdb'leri görmezden gelmeye dikkat ediyorum, yanlışlıkla kaynağınızla (nant, nunit gui, vb ...) sakladığınız takımları göz ardı edebilirsiniz. - James Gregory 21 Mayıs 13:32 "
Jim Raden

2
@JimRaden Genel olarak, Git'e ikili araçları kontrol etmekten kaçınmak en iyisidir. En iyi uygulamalar sadece kaynağınızı Git'e göndermektir; İkili araçlara ihtiyacınız varsa, bunları yüklemek için bir komut dosyası veya yalnızca bu araçlarla bir alt modül ekleyin.
Brian Campbell

6

Bunun için Jens Lehmann'a teşekkür ederiz - kaynak dizinleri derleyici proje dosyalarınızdan ayrı tutar ve çıktı oluşturursanız .gitignore'unuzu reddederek basitleştirebilirsiniz:

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

Hangi dilleri kullandığınızı söylemezsiniz, ancak yukarıdakiler C ++ projeleri için çalışmalıdır.


.Gitignore'da bir olumsuzluk bayrağı olduğunu bilmiyordum. Yardımcı ipucu!
Jim Raden

6

Burada partiye geç kaldım, ama ben de aşağıdakileri kullandığımı görüyorum. Bazıları yalnızca ortak bir uzaktan kumandaya basarken hassas dosyaları gizlemek için yararlı olabilir .

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

En son sürüm nuget.exe
tofutim 20:12

@tofutim, neyin en son sürümü? git kendisi?
danludwig


4

Visual Studio'da bir kısayol var , çünkü Git'i 2015 veya üzeri sürümlerde kutudan çıkarıyor. Yeni çözümler (veya .gitklasör içermeyen bazıları ) için Solution Explorer'da kaynak kontrol özelliklerini kullanın :

Çözümünüzü sağ tıklayınAdd Solution to Source Control... ve açılır menüden öğeyi seçin.

.gitDepoyu otomatik olarak başlatır , .gitignore çözümünüze ve hatta .gitattributesdosyanıza (satır sonları vb.) Gerekli şeyleri ekler .

Metin VS konsolunda görünecektir:

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

Bitti!


3

İşte benim dosya için .NET Projelerimde ne kullanıyorum.gitignore .

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

Bu, yerleşik Visual Studio test cihazını kullanan bir MS yaklaşımı ve orada da bazı TFS bağlamaları olabilecek bir projedir.


3

Başka bir posterin de belirttiği gibi, Visual Studio bunu .gitignore'un bir parçası olarak üretir (en azından MVC 4 için):

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

Projeniz çözümünüzün bir alt klasörü olabileceğinden ve .gitignore dosyası çözüm kökünde depolandığından, bu aslında yerel veritabanı dosyalarına dokunmaz (Git onları görür projectfolder/App_Data/*.mdf). Bunu hesaba katmak için şu satırları değiştirdim:

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

1
Aslında git, " /" ile başlamadığınız sürece alt dizinlere göre kalıplarla da eşleşir , bu durumda yalnızca .gitignoredosyayla aynı dizindeki şeylerle eşleşirler.
SamB

0

Bazı proje eklemek isteyebilirsiniz *.manifestonların için visual studio gitignore.iodosyası .

Bunun nedeni , yeni projelerin bazı Visual Studio proje özelliklerinin bir manifest dosyası oluşturacak şekilde ayarlanmış olmasıdır.

Bkz. " Visual Studio'da Manifest Üretimi "

Ancak bunları oluşturduysanız ve statikse (zamanla değişmiyorsa), bunları .gitignoredosyadan kaldırmak iyi bir fikirdir .

Bir proje böyle Windows için Git bunu yaptı (Git 2.24, Q4 2019 için)

Bkz. Aac6ff7 (05 Eyl 2019), Johannes Schindelin ( dscho) .
(Göre Birleştirilmiş - Junio Cı Hamano gitster- içinde 59438be tamamlama 2019 30 Eki)

.gitignore: görmezden gelmeyi bırak .manifest dosyaları

Windows'da, bir "bildirimde" bağlantı kurarak ek meta verileri bir yürütülebilir dosyaya gömmek, yani yetenekleri ve gereksinimleri açıklayan bir XML belgesi (minimum veya maksimum Windows sürümü gibi) mümkündür.
Bu XML belgelerinin.manifest dosyalarda .

En azından bazı Visual Studio sürümleri otomatik olarak oluşturulur.manifest , açıkça hiçbiri belirtilmediğinde dosyaları , bu nedenle Git'ten bunları yoksaymasını isterdik.

Ancak, .manifestşimdi güzel bir dosyamız var: compat/win32/git.manifestVisual Studio bizim için otomatik olarak bir bildirim oluşturmuyor ve Git'in .manifestartık dosyaları görmezden gelmesini istemiyoruz.


0

Ekip Gezgini'nde Ayarlar görünümüne gidip Depo Ayarları'nı seçerek deponuz için .gitignore dosyanızı oluşturabilir veya düzenleyebilirsiniz. .Gitignore'nuz için Düzenle'yi seçin.

Otomatik olarak tüm VS'ye özgü derleme dizinlerini vb.

resim açıklamasını buraya girin

Daha fazla bilgi için buraya bakınız .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.