我通常使用.NET使用Git进行版本控制。在我的团队中,我们并行工作,并且经常提交代码以将其集成到应用程序中。一切都很好,但可以使用Visual Studio的解决方案和项目文件。我们发现了两种方法:
两种方式都有优点和缺点,但是基本上,每次我们从中央仓库回购时,我们都在挣扎。在这里,我们发现了一些备用问题:(在括号中,是对上面列表的引用)
.csproj
文件(2)依此类推。 我可以使用适当的工作流程吗?
提交.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
文件开始: