当Git与Visual Studio解决方案(.sln)和项目一起使用时,我应该在.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.
完成了!
其他回答
如果您在解决方案中使用dbproj,则需要添加以下内容:
#Visual Studio DB Project
*.dbmdl
[Ss]ql/
来源: http://blogs.msdn.com/b/bahill/archive/2009/07/31/come-visit-revisit-the-beer-house-continuous-integration.aspx
我在c#项目中使用下面的.gitignore。在需要时添加其他模式。
[Oo]bj
[Bb]in
*.user
*.suo
*.[Cc]ache
*.bak
*.ncb
*.log
*.DS_Store
[Tt]humbs.db
_ReSharper.*
*.resharper
Ankh.NoLoad
使用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文件,然后按照您喜欢的方式合并保存的副本更改。
正如另一张海报所提到的,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
这是我最近在做的一个项目的。gitignore的摘录。我提取了我认为与Visual Studio相关的内容,包括编译输出;这是一个跨平台的项目,所以对于其他构建系统产生的文件有各种其他的忽略规则,我不能保证我准确地将它们分开。
*.dll
*.exe
*.exp
*.ilk
*.lib
*.ncb
*.log
*.pdb
*.vcproj.*.user
[Dd]ebug
[Rr]elease
也许这个问题应该是Community Wiki,这样我们就可以一起编辑一个带有注释的主列表,说明对于哪种类型的项目哪些文件应该被忽略?
推荐文章
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 为什么Visual Studio 2015/2017/2019测试运行器没有发现我的xUnit v2测试
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- Visual Studio复制项目
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 如何在iis7应用程序池中设置。net Framework 4.5版本
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖