我如何在Git中处理Visual Studio解决方案和项目文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何在Git中处理Visual Studio解决方案和项目文件?相关的知识,希望对你有一定的参考价值。
我通常使用.NET使用Git进行版本控制。在我的团队中,我们并行工作,并且经常提交代码以将其集成到应用程序中。一切都很好,但可以使用Visual Studio的解决方案和项目文件。我们发现了两种方法:
- 从不提交这些文件,每个人都有自己的文件
- 将那些文件包含在版本系统中
两种方式都有优点和缺点,但是基本上,每次我们从中央仓库回购时,我们都在挣扎。在这里,我们发现了一些备用问题:(在括号中,是对上面列表的引用)
- 我们必须在项目中包括其他人的文件(1)或包括我们的最新文件(2)
- 如果我们使用不同的体系结构(x86 / x64),则必须手动更改
.csproj
文件(2) - 对参考文献和NuGet软件包回答了相同的问题
依此类推。 我可以使用适当的工作流程吗?
提交.sln
和.csproj
文件通常是最佳做法(与this answer相同),但是合并需要一定注意。请参阅“ Why are my .csproj
files getting messed up after a git rebase
?”。
(请参见下文).csproj
git rebase
v
或者您可以放弃*.csproj -text merge=union
并在本地重新生成它们*.sln -text merge=union
。忽略这些csproj文件的另一个原因是它们是否已重新生成,如.csproj
as in this tweet警告(in this context)与yellowblood策略一起使用时,in the comments文件存在严重冲突问题。这与文章“ csproj
”相呼应。这就是为什么要有merge=union
的原因(如果要添加Merge conflicts in csproj
files文件以适应该模式,请not修改csproj
文件)。
有人建议,如果Visual Studio首先对元素进行排序,那将有助于减轻问题。这有助于减少由Visual Studio明显的非确定性元素类型引起的偶然冲突。但这并不会消除合并冲突的问题。
在我们的项目中,我们将其检入版本控制。我们从suggestion for VS IDE should support file patterns in project files中的.csproj
和一个简单的.cs
文件开始:
以上是关于我如何在Git中处理Visual Studio解决方案和项目文件?的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code 如何解决与 git 的合并冲突?
如何在 Visual Studio 2015 中从 Git 获取特定版本?
如何解决 Visual Studio 2019 中的这个 dll 缺失问题?