为什么在Git中忽略IDE特定的项目文件?

usr*_*ΛΩΝ 3 ide git github

我已经看到在Github上发布的许多项目都有一个.gitignore明确排除与IDE相关的控制文件的文件.这些控制文件广泛用于定义项目及其依赖项.这些可以.sln用于.NET或.projectEclipse.

我想问一下,为什么这种做法被广泛应用或被认为是一种好的做法,考虑到我同意实现IDE中立(不要将开发人员绑定到特定的IDE)是一个很好的原则.

相反,这些控制文件通常在多个配置中规定项目依赖性,配置或编译变量(例如,这是.csproj文件的情况).

我看到大量的开源项目忽略了Eclipse文件,但是到目前为止,我没有设置没有项目文件的开发环境(即使我从现有代码创建项目,或者创建一个新项目,导入代码,我总是得到编译错误的补充).

如果项目文件存在于存储库中,那么建立一个"下载代码,导入项目并编译源代码"的开发环境将变得非常简单,但它显然会将开发人员绑定到特定的IDE(这并不好笑) .

标准化或迁移项目文件超出了问题的范围.

因此,从外部贡献者的角度来看,如何为他从Github下载源代码的项目构建工作和编译项目环境?(克隆所有子模块后,如果需要)

只是为了选择一个示例项目,我想导入Eclipse,分析并稍加修改,这里就是.

Chr*_*oph 6

请注意,csproj文件不是特定于IDE的,而是形成基本项目结构和构建.NET项目的步骤.即使你切换到像SharpDevelop这样完全不同的IDE,你仍然需要它们来运行项目.所以,一般来说,那些不应该在.gitignore文件上.只应排除用户或IDE特定的内容.