如何在git中控制同一项目的多个框架版本

时间:2018-11-15 09:23:04

标签: .net git version-control

假设我有一个名为Project的{​​{1}}。

工具是Tools,其中包含ExtensionMethods,Helpers等。

不同的产品使用不同的引用在各种.net框架版本中编译的工具。

我在TFS上工作了很长时间,因此在迁移到git时遇到问题。

enter image description here

这是我在磁盘 AND 上的结构,该结构也在Visual Studio的“源代码管理资源管理器”中。

我习惯于使用Visual Studio GUI在分支之间合并和分支变更集。

enter image description here

我无法使用git创建类似的环境。 我可以从一个分支来回推到另一个分支。

我想只有一个“工具”存储库,同时将不同的分支存储在磁盘上(是否签出)。

2 个答案:

答案 0 :(得分:1)

我想我会根据您的评论理解您想要完成的工作,并且我将提出一个解决方案,但是请让我先说明一下TFS和GIT与分支和合并的工作方式完全不同。在GIT中,您无需像以前使用TFS一样将每个分支都下载到单独的文件夹中。在GIT中,您可以轻松地在同一工作文件夹中切换和切换分支。

如果您需要将所有分支都检出以便能够更快(或任何其他)构建,我建议的是:

1)将一个文件夹/内部版本视为主文件夹/主干/最新(或您熟悉的任何术语),并将其用作主分支
2)将同一存储库克隆到不同的文件夹,每个文件夹代表您要使用的内部版本(分支)
3)在每个文件夹/仓库签出中要使用的分支
4)您可以使用这些文件夹中的不同分支,并在只有一个存储库的情况下将其推/拉到所有其他分支

请再说一遍,这不是使用GIT的理想方法。如果您使用的是Visual Studio的较新版本,则与GIT的集成可以无缝进行。

答案 1 :(得分:0)

如果您的应用程序引用Test,则您可以有多个存储库(它不是很糟糕,因此只需考虑一下)。然后,可以在每个存储库(Testnet452)中将net461作为子模块(例如,检查this link,或者您可以找到很多其他模块),等等 然后,您可以将Test放在一个地方-独立的存储库-并将更改推送到使用Test的项目存储库。