当Git与Visual Studio解决方案(.sln)和项目一起使用时,我应该在.gitignore中包含哪些文件?


当前回答

使用Visual Studio添加.gitignore

打开Visual Studio和需要忽略文件的解决方案。从顶部菜单选择Git > Settings。

上面将打开Visual Studio的选项,选择源代码控制> Git全局设置。从左侧列表中选择Git Repository Settings,然后单击“忽略文件”的“添加”按钮。

上面的代码将添加(并提交)一个.gitignore文件,其中包含典型Visual Studio设置中忽略的所有适当文件。

https://elanderson.net/2020/10/add-git-ignore-to-an-existing-visual-studio-solution-new-git-experience/

注意,如果你的repo根目录中已经有一个.gitignore文件,“添加”按钮将显示“编辑”,按下该按钮将只是打开文件而不更新它,这不是很有帮助。在这种情况下,您可以首先重命名您的.gitignore文件,单击Add按钮,取消新的.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.

正如另一张海报所提到的,Visual Studio将其生成为.gitignore的一部分(至少对于MVC 4):

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

因为你的项目可能是你的解决方案的一个子文件夹,而.gitignore文件存储在解决方案根目录中,这实际上不会触及本地数据库文件(Git在projectfolder/App_Data/*.mdf中看到它们)。为了解释这一点,我修改了这些行:

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

我在c#项目中使用下面的.gitignore。在需要时添加其他模式。

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

这是我最近在做的一个项目的。gitignore的摘录。我提取了我认为与Visual Studio相关的内容,包括编译输出;这是一个跨平台的项目,所以对于其他构建系统产生的文件有各种其他的忽略规则,我不能保证我准确地将它们分开。

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

也许这个问题应该是Community Wiki,这样我们就可以一起编辑一个带有注释的主列表,说明对于哪种类型的项目哪些文件应该被忽略?

我知道这是一个旧的帖子,但对于新老谁访问这个页面,有一个网站叫gitignore。IO可以生成这些文件。登陆网站时搜索“visualstudio”,它会为你生成这些文件,你也可以忽略多个语言/ide的文件连接到一个文档中。

美丽。