2017-04-07 17 views
1

由Visual Studio 2015創建的C#程序的哪些文件值得提交到存儲庫中?由Visual Studio 2015創建的C#程序的哪些文件值得提交到存儲庫中?

我猜

  • 的.cs文件
  • .proj文件
  • 的.sln文件?我聽說首次創建一個新的C#程序時,.sln文件總是被提交到存儲庫,但以後很少需要,因爲有時我不會通過更改其中的項目來有意更改.sln文件,但Visual Studio 2015更改仍然存在.sln文件。 IDE可以在文件中更改哪些內容?
  • 屬性/ assembly.cs
  • 什麼?

謝謝。

+0

app.config,nuget.packages,... – Gudgip

+0

這取決於你有什麼項目,如果你想爲.NET Core構建,你可能會有更多的文件。例如project.json,對於ASP也有* .js * cshtml等。請指定什麼平臺 –

+3

存儲庫應包含您需要開始在另一臺計算機上開發的所有內容。所以你可以這樣想:如果你把你的電腦從窗戶中拿出來買新的,你需要什麼文件? – Sylence

回答

3

這裏有一個GitHub上的內容而產生.gitignore文件 - 將這樣的文件,你的Git項目的根將允許這些提起來(安全)忽略comitting代碼時:

每Stout01的答案,這是一個將文件直接鏈接(應該隨着時間的推移不斷更新):

https://github.com/github/gitignore/blob/master/VisualStudio.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/ 
x64/ 
x86/ 
bld/ 
[Bb]in/ 
[Oo]bj/ 
[Ll]og/ 

# 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 
*.VC.VC.opendb 

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

# Microsoft Azure Web App publish settings. Comment the next line if you want to 
# checkin your Azure Web App publish settings, but sensitive information contained 
# in these scripts will be unencrypted 
PublishScripts/ 

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

# Windows Store app package directories and files 
AppPackages/ 
BundleArtifacts/ 
Package.StoreAssociation.xml 
_pkginfo.txt 

# 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/ 
~$* 
*~ 
*.dbmdl 
*.dbproj.schemaview 
*.pfx 
*.publishsettings 
node_modules/ 
orleans.codegen.cs 

# Since there are multiple workflows, uncomment next line to ignore bower_components 
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 
#bower_components/ 

# 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 

# Paket dependency manager 
.paket/paket.exe 
paket-files/ 

# FAKE - F# Make 
.fake/ 

# JetBrains Rider 
.idea/ 
*.sln.iml 
+0

謝謝。該文件沒有提及.sln文件和屬性目錄,是否正確?所以他們值得承諾? – Tim

+0

@Tim是的,對提交非常重要。解決方案文件組織項目,並且屬性目錄經常保存代碼。 – Haney

+0

我聽說首次創建一個新的C#程序時,.sln文件總是被提交到存儲庫,但後來很少需要,因爲有時我不會通過更改其中的項目來有意更改.sln文件,但Visual Studio 2015更改.sln文件。 IDE可以在文件中更改哪些內容? – Tim

5

通常建議使用GitHub的Visual Studio中的.gitignore文件。

https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

當前文件作爲這個帖子是這樣的:

## Ignore Visual Studio temporary files, build results, and 
## files generated by popular Visual Studio add-ons. 
## 
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 

# 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/ 
x64/ 
x86/ 
bld/ 
[Bb]in/ 
[Oo]bj/ 
[Ll]og/ 

# 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 

# .NET Core 
project.lock.json 
project.fragment.lock.json 
artifacts/ 
**/Properties/launchSettings.json 

*_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 
*.VC.VC.opendb 

# 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 

# Visual Studio code coverage results 
*.coverage 
*.coveragexml 

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

# Microsoft Azure Web App publish settings. Comment the next line if you want to 
# checkin your Azure Web App publish settings, but sensitive information contained 
# in these scripts will be unencrypted 
PublishScripts/ 

# 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 ignorable files 
*.nuget.props 
*.nuget.targets 

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

# Microsoft Azure Emulator 
ecf/ 
rcf/ 

# Windows Store app package directories and files 
AppPackages/ 
BundleArtifacts/ 
Package.StoreAssociation.xml 
_pkginfo.txt 

# 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/ 
~$* 
*~ 
*.dbmdl 
*.dbproj.schemaview 
*.jfm 
*.pfx 
*.publishsettings 
orleans.codegen.cs 

# Since there are multiple workflows, uncomment next line to ignore bower_components 
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 
#bower_components/ 

# 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 
*.ndf 

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

# Typescript v1 declaration files 
typings/ 

# Visual Studio 6 build log 
*.plg 

# Visual Studio 6 workspace options file 
*.opt 

# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 
*.vbw 

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

# Paket dependency manager 
.paket/paket.exe 
paket-files/ 

# FAKE - F# Make 
.fake/ 

# JetBrains Rider 
.idea/ 
*.sln.iml 

# CodeRush 
.cr/ 

# Python Tools for Visual Studio (PTVS) 
__pycache__/ 
*.pyc 

# Cake - Uncomment if you are using it 
# tools/** 
# !tools/packages.config 

# Telerik's JustMock configuration file 
*.jmconfig 

# BizTalk build output 
*.btp.cs 
*.btm.cs 
*.odx.cs 
*.xsd.cs 

此gitignore文件有社區的標準爲Microsoft Visual Studio的資源庫。

你想要包含.sln文件。這樣,如果其他開發人員開始處理該項目,他們將能夠立即在Visual Studio中打開它。 .sln文件通常只有在向解決方案添加新項目時纔會更改。

+0

爲每個建議添加文件的當前副本 – Stout01

+0

謝謝你好先生:) – MickyD

相關問題