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


当前回答

在Visual Studio 2015 Team Explorer中>本地Git存储库>项目>设置> Git >存储库设置>忽略和属性文件。您可以添加.gitignore文件,其中包含visual studio解决方案中默认应忽略的项。

其他回答

参见官方GitHub的“有用的。gitignore模板集合”。

Visual Studio的.gitignore可以在这里找到: https://github.com/github/gitignore/blob/main/VisualStudio.gitignore

在Visual Studio中有一个快捷方式,因为它在2015年及以上版本支持Git开箱即用。对于新的解决方案(或一些没有.git文件夹的解决方案),使用解决方案资源管理器中的源代码控制功能:

右键单击解决方案并选择将解决方案添加到源代码控制…弹出菜单中的项目。

它会自动初始化.git存储库,将.gitignore和必要的东西添加到您的解决方案,甚至是.gitattributes文件(行结束符等)。

文本将出现在VS控制台:

A new Git repository has been created for you in C:\<path to your solution>
Commit ______ created locally in repository.

完成了!

正如另一张海报所提到的,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

下面是我在。net项目中为我的.gitignore文件所使用的。

[Oo]bj/
[Bb]in/
*.suo
*.user
/TestResults
*.vspscc
*.vssscc

这几乎是一个全MS的方法,它使用内置的Visual Studio测试器,并且一个项目也可能有一些TFS绑定。

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

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

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