【问题标题】:Is it possible to have multiple git projects in one solution? [closed]是否可以在一个解决方案中拥有多个 git 项目? [关闭]
【发布时间】:2021-04-24 18:26:38
【问题描述】:

我有一个相对全面的解决方案,其中包含大约 20 个项目。其中一个项目是“Utils”,我想将其分享给其他解决方案。不幸的是,如果我将这个项目作为链接项目添加到另一个解决方案中,那么这个项目并没有将我上传到这个解决方案的 Git,所以团队合作是不可能的。因此,我正在寻找一种解决方案来实现我可以在各个解决方案之间共享该项目的源代码。我使用 VS2019 作为 Git 存储库 xxx.visualstudio.com。谢谢你的建议。

【问题讨论】:

  • “有可能吗”?是的。值得推荐吗?不。您的问题没有完美的解决方案。我们公司的解决方案是托管一个私有的 nuget-server 并提供包等依赖项。
  • 考虑使用包管理器或某种依赖管理器。不要为此使用 git。
  • 当然,我想先把它作为一个nuget包来做,但我希望其他程序员能够访问源代码并能够在这个项目中添加其他功能。如果我使用 nuget 包,那么任何想要添加内容的人都必须发布一个新包,我想避免这种情况。
  • 如果做一个 nuget 包不是你的解决方案,因为它增加了太多的摩擦(即使你也可以访问 util 存储库),你的解决方案是使用子模块:@987654321 @

标签: c# git visual-studio multi-project


【解决方案1】:

如果做一个 nuget 包对你来说不是一个解决方案,因为它增加了太多的摩擦(即使你也可以访问 util 存储库),并且你希望能够直接更新“Utils”源sln 文件,那么你的解决方案是使用Git submodules

来自文档:

经常发生在处理一个项目时,您需要使用其中的另一个项目。也许它是第三方开发的库,或者您正在单独开发并在多个父项目中使用的库。在这些场景中会出现一个常见问题:您希望能够将这两个项目视为独立的,但仍然能够在另一个项目中使用其中一个。

您必须为“Utils”代码创建一个存储库,并将其作为子模块包含在其他存储库中。

但是Visual Studio still no support it...

这并不严重,因为您仍然可以从命令行或支持它的外部 git GUI 使用它(例如 GitExtensions)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多