当Git与Visual Studio解决方案(.sln)和项目一起使用时,我应该在.gitignore中包含哪些文件?
当前回答
这是我最近在做的一个项目的。gitignore的摘录。我提取了我认为与Visual Studio相关的内容,包括编译输出;这是一个跨平台的项目,所以对于其他构建系统产生的文件有各种其他的忽略规则,我不能保证我准确地将它们分开。
*.dll
*.exe
*.exp
*.ilk
*.lib
*.ncb
*.log
*.pdb
*.vcproj.*.user
[Dd]ebug
[Rr]elease
也许这个问题应该是Community Wiki,这样我们就可以一起编辑一个带有注释的主列表,说明对于哪种类型的项目哪些文件应该被忽略?
其他回答
我更喜欢根据需要排除一些事情。您不希望在名称中以字符串“bin”或“obj”排除所有内容。至少要确保跟在后面有斜杠。
以下是我在VS2010项目中开始的内容:
bin/
obj/
*.suo
*.user
只是因为我使用ReSharper,还有这个:
_ReSharper*
在Visual Studio 2015 Team Explorer中>本地Git存储库>项目>设置> Git >存储库设置>忽略和属性文件。您可以添加.gitignore文件,其中包含visual studio解决方案中默认应忽略的项。
我明白这是一个老问题,还在分享一个信息。在Visual Studio 2017中,只需右键单击解决方案文件,并选择将解决方案添加到源代码控制
这将向源文件夹中添加两个文件。
.gitattributes .gitignore
这是最简单的方法。
这里的聚会很晚,但我也发现我使用以下方法。有些可能只用于在按到公共远程时隐藏敏感文件。
#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。输入输出文件。
这是因为新项目的一些Visual Studio项目属性被设置为生成清单文件。
参见“在Visual Studio中生成清单”
但是如果您已经生成了它们,并且它们是静态的(不会随着时间而改变),那么从.gitignore文件中删除它们是个好主意。
这就是Git for Windows这样的项目刚刚做的事情(适用于Git 2.24, 2019年第四季度)
参见Johannes Schindelin (dscho)的commit aac6ff7(2019年9月05日)。 (由Junio C Hamano—gitster—在commit 59438be中合并,2019年9月30日)
.gitignore: stop ignoring .manifest files On Windows, it is possible to embed additional metadata into an executable by linking in a "manifest", i.e. an XML document that describes capabilities and requirements (such as minimum or maximum Windows version). These XML documents are expected to be stored in .manifest files. At least some Visual Studio versions auto-generate .manifest files when none is specified explicitly, therefore we used to ask Git to ignore them. However, we do have a beautiful .manifest file now: compat/win32/git.manifest, so neither does Visual Studio auto-generate a manifest for us, nor do we want Git to ignore the .manifest files anymore.
推荐文章
- 如何从远程Git存储库中提取并覆盖本地存储库中的更改?
- Github:导入上游分支到fork
- Git单次修订的日志
- Git在不改变提交时间戳的情况下进行改基
- Visual Studio: ContextSwitchDeadlock
- Visual Studio:如何打破处理异常?
- VS 2017 Git本地提交数据库。每次提交时锁定错误
- 如何在过去的一些任意提交之间注入一个提交?
- 无法启动IIS Express Web服务器,注册URL失败,访问被拒绝
- 从GitHub克隆项目后拉git子模块
- GitHub上的分叉和克隆有什么区别?
- 递归地按模式添加文件
- 我如何使用notepad++(或其他)与msysgit?
- 如何下载Visual Studio社区版2015(不是2017)
- 如何将现有的解决方案从Visual Studio 2013添加到GitHub