当Git与Visual Studio解决方案(.sln)和项目一起使用时,我应该在.gitignore中包含哪些文件?
当前回答
某些项目可能需要添加*。显到他们的视觉工作室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.
其他回答
我在c#项目中使用下面的.gitignore。在需要时添加其他模式。
[Oo]bj
[Bb]in
*.user
*.suo
*.[Cc]ache
*.bak
*.ncb
*.log
*.DS_Store
[Tt]humbs.db
_ReSharper.*
*.resharper
Ankh.NoLoad
我更喜欢根据需要排除一些事情。您不希望在名称中以字符串“bin”或“obj”排除所有内容。至少要确保跟在后面有斜杠。
以下是我在VS2010项目中开始的内容:
bin/
obj/
*.suo
*.user
只是因为我使用ReSharper,还有这个:
_ReSharper*
这是我最近在做的一个项目的。gitignore的摘录。我提取了我认为与Visual Studio相关的内容,包括编译输出;这是一个跨平台的项目,所以对于其他构建系统产生的文件有各种其他的忽略规则,我不能保证我准确地将它们分开。
*.dll
*.exe
*.exp
*.ilk
*.lib
*.ncb
*.log
*.pdb
*.vcproj.*.user
[Dd]ebug
[Rr]elease
也许这个问题应该是Community Wiki,这样我们就可以一起编辑一个带有注释的主列表,说明对于哪种类型的项目哪些文件应该被忽略?
这里的聚会很晚,但我也发现我使用以下方法。有些可能只用于在按到公共远程时隐藏敏感文件。
#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文件。选择编辑你的。gitignore。
它会自动创建过滤器,忽略所有VS特定的构建目录等。
更多信息请看这里。
推荐文章
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- Nuget连接尝试失败“无法为源加载服务索引”
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- 在Visual Studio中查看多个项目/解决方案
- GIT克隆在windows中跨本地文件系统回购
- Visual Studio打开默认浏览器,而不是Internet Explorer
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错