विजुअल स्टूडियो प्रोजेक्ट्स और सॉल्यूशंस के लिए.gitignore




visual-studio visual-studio-2012 (14)

विजुअल स्टूडियो सॉल्यूशंस ( .sln ) और प्रोजेक्ट्स के साथ गिट का उपयोग करते समय मुझे किस फाइल को .gitignore में शामिल करना चाहिए?


जैसा कि एक अन्य पोस्टर द्वारा उल्लेखित किया गया है, विजुअल स्टूडियो इसे अपने .gitignore (कम से कम एमवीसी 4 के लिए) के हिस्से के रूप में उत्पन्न करता है:

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

चूंकि आपकी प्रोजेक्ट आपके समाधान का सबफ़ोल्डर हो सकती है, और .gitignore फ़ाइल समाधान रूट में संग्रहीत है, यह वास्तव में स्थानीय डेटाबेस फ़ाइलों को स्पर्श नहीं करेगा (गिट उन्हें projectfolder/App_Data/*.mdf पर देखता है)। इसके लिए खाते में, मैंने उन पंक्तियों को इस प्रकार बदल दिया:

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

विजुअल स्टूडियो 2015 अपडेट 3 पर, और गिट एक्सटेंशन के साथ आज (2016-10-24) अपडेट किया गया है, विजुअल स्टूडियो द्वारा उत्पन्न .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/

मेरे .gitignore फ़ाइल के लिए मैं अपने .NET प्रोजेक्ट्स में उपयोग करता हूं

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

यह एक बहुत एमएस दृष्टिकोण है, जो विजुअल स्टूडियो परीक्षक में निर्मित है, और एक ऐसी परियोजना है जिसमें कुछ टीएफएस बाइंडिंग भी हो सकती हैं।


जबकि आपको अपनी NuGet packages.config फ़ाइल रखना चाहिए, आपको संकुल फ़ोल्डर को बहिष्कृत करना चाहिए:

#NuGet
packages/

मैं आम तौर पर स्रोत नियंत्रण में द्विआधारी, या मेरे स्रोत से उत्पन्न कुछ भी स्टोर नहीं करता हूं। हालांकि इस पर अलग राय हैं। अगर यह आपके निर्माण प्रणाली के लिए चीजों को आसान बनाता है, तो इसे करें! हालांकि, मैं तर्क दूंगा कि आप इन निर्भरताओं का संस्करण नहीं बना रहे हैं, इसलिए वे आपके भंडार में जगह ले लेंगे। एक केंद्रीय स्थान में बाइनरी संग्रहीत करना, फिर संकुल.कॉन्फिग फ़ाइल पर निर्भर होना यह इंगित करने के लिए कि कौन सा संस्करण आवश्यक है, मेरी राय में एक बेहतर समाधान है।


मैं सी # परियोजनाओं के लिए निम्नलिखित .gitignore का उपयोग करें। अतिरिक्त पैटर्न जोड़े जाते हैं जब उन्हें आवश्यकता होती है।

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

विजुअल स्टूडियो में एक शॉर्टकट है, क्योंकि यह 2015 या उससे ऊपर के बॉक्स में गिट का समर्थन करता है। नए समाधान (या जिनके पास .git फ़ोल्डर नहीं है) के लिए समाधान एक्सप्लोरर में स्रोत नियंत्रण सुविधाओं का उपयोग करें :

अपने समाधान पर राइट-क्लिक करें और पॉपअप मेनू में Add Solution to Source Control... आइटम में Add Solution to Source Control... चयन करें।

यह स्वचालित रूप से .git रिपोजिटरी को प्रारंभ करता है, आपके समाधान के लिए आवश्यक चीज़ों के साथ .gitattributes और यहां तक ​​कि .gitattributes फ़ाइल (लाइन समाप्ति, आदि)।

पाठ वीएस कंसोल में दिखाई देगा:

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

किया हुआ!


एक ऑनलाइन उपकरण है जो आपको अपने ओएस, आईडीई, भाषा इत्यादि के आधार पर .gitignore फ़ाइल जेनरेट करने की अनुमति देता है। http://www.gitignore.io/ पर एक नज़र डालें।

8/20/2014 को, यहां विज़ुअल स्टूडियो + विंडोज के लिए जेनरेट की गई फ़ाइल है।

# 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


विजुअल स्टूडियो 2015 टीम एक्सप्लोरर> स्थानीय गिट रेपॉजिटरीज> प्रोजेक्ट> सेटिंग्स> गिट> रिपोजिटरी सेटिंग्स> अनदेखा करें और विशेषताएँ फ़ाइलें। आप डिफ़ॉल्ट रूप से विजुअल स्टूडियो समाधान में आइटमों के साथ .gitignore फ़ाइल को अनदेखा कर सकते हैं।


जोड़ा तैनाती के लिए InstallShield अनदेखा जोड़ा गया। इंस्टॉलशील्ड नई दिशा है जो माइक्रोसॉफ्ट विजुअल स्टूडियो इंस्टालर पर आगे बढ़ रहा है, इसलिए हमने इसे सभी नई परियोजनाओं पर इस्तेमाल करना शुरू कर दिया है। यह जोड़ा लाइन सिंगल इमेज इंस्टॉलेशन फाइलों को हटा देती है। अन्य इंस्टॉलशील्ड प्रकारों में अन्य लोगों के बीच डीवीडी वितरण शामिल हो सकता है। आप किसी भी InstallShield LE परिनियोजन फ़ाइलों को रेपो में आने से रोकने के लिए उन निर्देशिका नाम या बस [Ee] xpress / जोड़ना चाह सकते हैं।

संस्थापक के लिए सिंगल इमेज तैनाती के साथ इंस्टॉल शील्ड ली का उपयोग कर वीएस -2010 सी # परियोजनाओं के लिए हमारे .gitignore यहां दिया गया है:

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

मैं चीजों को एक आवश्यक आधार पर बाहर करना पसंद करता हूं। आप शॉटगन को नाम में स्ट्रिंग "बिन" या "ओबीजे" के साथ सबकुछ बाहर नहीं करना चाहते हैं। कम से कम एक स्लैश के साथ उन लोगों का पालन करना सुनिश्चित करें।

यहां एक वीएस -2010 प्रोजेक्ट पर शुरू किया गया है:

bin/
obj/
*.suo
*.user

और केवल इसलिए कि मैं ReSharper का उपयोग करता हूं, यह भी:

_ReSharper*

यहां एक हालिया प्रोजेक्ट पर एक .gitignore से निकाला गया है जिस पर मैं काम कर रहा था। मैंने उन लोगों को निकाला है जो मुझे लगता है कि संकलन आउटपुट समेत विजुअल स्टूडियो से संबंधित हैं; यह एक क्रॉस प्लेटफ़ॉर्म प्रोजेक्ट है, इसलिए अन्य बिल्ड सिस्टम द्वारा उत्पादित फ़ाइलों के लिए कई अन्य अनदेखा नियम हैं, और मैं गारंटी नहीं दे सकता कि मैंने उन्हें बिल्कुल अलग कर दिया है।

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

शायद यह सवाल सामुदायिक विकी होना चाहिए, इसलिए हम सभी एक टिप्पणी सूची के साथ एक मास्टर सूची को एक साथ संपादित कर सकते हैं कि किस प्रकार की परियोजना के लिए किन फ़ाइलों को अनदेखा किया जाना चाहिए?


यहां पार्टी के लिए देर हो चुकी है, लेकिन मुझे यह भी लगता है कि मैं निम्नलिखित का उपयोग करता हूं। कुछ सार्वजनिक रिमोट पर धक्का देते समय केवल संवेदनशील फ़ाइलों को छिपाने के लिए उपयोगी हो सकते हैं।

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

इस के लिए जेन्स लेहमैन को क्रेडिट - यदि आप स्रोत कंपाइलर को अपनी कंपाइलर प्रोजेक्ट फ़ाइलों से अलग रखते हैं और आउटपुट बनाते हैं, तो आप इसे अस्वीकार कर अपने .gitignore को सरल बना सकते हैं:

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

आप यह नहीं कहते कि आप किस भाषा का उपयोग कर रहे हैं, लेकिन उपर्युक्त सी ++ परियोजनाओं के लिए काम करना चाहिए।





gitignore