Git Repo应该是Visual Studio中的解决方案级别还是项目级别

cma*_*uro 42 git visual-studio

如果我有一个包含多个项目的C#解决方案,那么在解决方案文件夹或每个单独的项目文件夹中创建Git仓库会更好吗?多个开发人员将致力于这些项目.你有什么经历?

bou*_*ard 21

我使用了几个(有时是重叠的)解决方案来包含一组相关的独立应用程序和共享库.正如其他人所提到的,你真的不希望有一个包含多个独立项目源的Git存储库,因为它很难跟踪孤立的更改.

因此,如果您的解决方案是按我的方式构建的,那么您肯定需要为每个项目提供单独的Git存储库.这对我来说效果很好,适用于十到十二个应用程序,并且不会产生与您想象的相同的维护开销.

如果您的解决方案真的是单一的(并且您确定您希望永远这样),那么只有一个存储库可能是有意义的.

  • 嗯,我不确定我是否跟进.每个存储库拥有一个项目并不会阻止您拥有包含所有这些项目的所有项目以及所有构建数据的总体解决方案文件.(事实上​​,我确实有一些这样的.)如果您担心构建元数据不受源代码的其他部分的版本控制,您可以始终围绕Git repo围绕那些"解决方案级别"文件虽然在我的情况下,我发现那种版本控制是过度/不必要的.我很想知道你对这个问题有任何进一步的想法. (3认同)
  • 问题是如果我有一个需要编译的应用程序,这实际上是一个包含多个项目的解决方案,并且我每个项目有1个git repo,我将如何轻松地构建解决方案,而不必拉动所有项目和将它们包含在本地的新解决方案中? (2认同)

Alb*_*bic 6

我假设您的解决方案代表某种产品,而项目只是产品的一部分。

在这种情况下,我将在解决方案级别创建存储库。这样,一次性构建整个产品就容易多了,特别是当项目相互依赖时。


CB *_*ley 6

这取决于。git存储库最适合包含具有自己独立生命周期的单个配置项。如果您的项目有自己的发布周期并在多个解决方案之间共享,那么将它们放在自己的存储库中可能是有意义的。但是,通常,解决方案代表一个配置项,所有组成项目都构成同一构建的一部分。在这种情况下git,解决方案级别的单个存储库更有意义。


Bry*_*ves 5

git子模块可能在这里值得考虑。每个项目都有自己的存储库,解决方案有一个存储库,并且这些项目是子模块。

  • 哪种依赖性管理系统最适合与VSO和GIT配合使用? (3认同)
  • Git子模块因依赖管理系统而受到了很多批评。 (2认同)