3

我们团队的成员使用不同版本的 Visual Studio,VS 似乎会自动更新 sln 文件,代码如下:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C# Express 2010

或者

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012

每当我们使用解决方案时。我们可以将 git 配置为忽略此类更改吗?我们对这一行不感兴趣,但我们对 .sln 文件的其他更改感兴趣,例如在解决方案中添加新的 csproj。

4

4 回答 4

0

在本地,您可以简单地更新 git index 以忽略某些文件中的更改,如下所示:

git update-index --assume-unchanged SolutionFile.sln

您的任何开发人员都可以做同样的事情。.gitignore如果您不想将其保留在源代码管理下,另一种解决方案是将文件添加到其中。

于 2013-04-24T10:35:27.913 回答
0

您可以向 git 添加一个涂抹/清洁过滤器,该过滤器调用一个脚本来调整特定行以在提交时保持一致。在“ git 可以自动在空格和制表符之间切换吗? ”中,它展示了如何实现类似的更改,其中空格在结帐时转换为制表符,并在提交时返回空格。

您可能需要编写脚本来识别和修改相关行,而链接的示例使用预先存在的 unix 命令在制表符和空格之间进行交换。

于 2014-03-05T17:32:56.250 回答
0

不能部分忽略文件。一个简单的解决方案是创建 .sln 文件的两个版本,并告诉团队打开与他们的版本相对应的一个。

另一种解决方案是提交后挂钩,如果这些行被更改,它会拒绝提交。需要一些脚本,但它是可行的。

于 2013-04-24T09:04:47.040 回答
0

我会忽略这些.sln文件,因为它们与构建项目无关:微软前段时间意识到项目文件必须是可版本化的,并且 novadays Studio 完成的所有构建都是由引擎执行msbuild的) XML 文件并使用它们来构建项目。这些文件实际上是构建项目所需的一切,而解决方案文件仅包含各种簿记信息。.proj.<whatever>proj.csproj.vbproj

于 2013-04-24T17:21:09.253 回答