Reputation: 4281
I have added .gitignore file for my visual studio 2013 windows form application.It works well but problem is that when I clean or rebuild my project I got following two files showing up when I ran git status.The two files that come popping are following.
deleted: MyTestProject/bin/Debug/MyTestProject.exe.config
deleted: MyTestProject/obj/Debug/MyTestProject.csproj.FileListAbsolute.txt
on rebuild only the second file comes. why is that ? since .gitignore file is designed so that only source code files when changed will show up in gitstatus whereas I was just cleaning or rebuilding.Moreover when I ran my project the first deleted file did not show up in git status.
what else should now be added in .gitignore file now to ignore those two files.
Following are contents of .gitignore
## 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/
x64/
build/
bld/
[Bb]in/
[Oo]bj/
# 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*
_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
# NuGet Packages Directory
packages/
## TODO: If the tool you use requires repositories.config uncomment the next line
#!packages/repositories.config
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
# This line needs to be after the ignore of the build folder (and the packages folder if the line above has been uncommented)
!packages/build/
# 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/
Upvotes: 4
Views: 6202
Reputation: 3701
Your .gitignore already contains lines to ignore new elements in the output directories, but it seems you (or somebody else) added those two files explicitly to version control.
To get rid of these messages simply remove them from version control and commit the change.
Upvotes: 1
Reputation: 5223
Grab the Visual Studio .gtignore from here: LINK
I use this and i have it unchanged 99%.
I only keep the packages directory for some of my projects, so i remove the packages from this .gtignore.
I dont know if you want to use this file, which is pretty complete in my opinion.
If you want the absolute bear minimum, try creation a new project in Visual Studio and then create the repository from within Visual Studio. the system will create a default .gtignore file.
For sure though include in your .gtignore
bin/
obj/
*.suo
*.user
Upvotes: 0
Reputation: 6357
It's a bit unclear what the actual question is, but assuming you want Git to ignore the files generated by a build in Visual Studio:
Visual Studio has a habit of putting a lot of different types of files in the output directories, so just add them to .gitignore
:
MyTestProject/bin/
MyTestProject/obj/
Edit:
To elaborate: The most common desired behaviour is to have Git ignore any files created by a build (or rebuild, for that matter). Since VS puts a lot of files into what it refers to as the output and intermediate directories, it is often much easier to have Git ignore those directories, as opposed to every file inside. Ignoring by file extension will only get you so far, for instance, as stated in the question, VS seems to have generated a .txt
file, and one would probably not want to ignore all such files. Neither would one want to list every generated file by its full path in .gitignore
, partly because there are so many, and partly because the are likely to change over time.
Upvotes: 3