Git (乌龟)svn:将不同的分支重新定位到不同的存储库(=不同的URL和UUID)

Git (乌龟)svn:将不同的分支重新定位到不同的存储库(=不同的URL和UUID),git,svn,tortoisesvn,Git,Svn,Tortoisesvn,我正在为两个不同的公司a和B做一个项目;A是大的,B是小的(我的)。两家公司都在做同一个项目,但我的公司只做大项目中的一个小模块。因此,我们有一个存储库用于A的hole项目,另一个存储库仅用于B正在处理的少数文件 我想要的是从A的存储库(branch main)中检出主项目,开发一小部分文件(branch develop),并将它们提交给B的存储库。但现在我面临以下问题:我想将这两个分支分离到不同的存储库位置/具有不同URL和UUID的存储库。(如何)我能做到这一点 (如果这对svn/torto

我正在为两个不同的公司a和B做一个项目;A是大的,B是小的(我的)。两家公司都在做同一个项目,但我的公司只做大项目中的一个小模块。因此,我们有一个存储库用于A的hole项目,另一个存储库仅用于B正在处理的少数文件

我想要的是从A的存储库(branch main)中检出主项目,开发一小部分文件(branch develop),并将它们提交给B的存储库。但现在我面临以下问题:我想将这两个分支分离到不同的存储库位置/具有不同URL和UUID的存储库。(如何)我能做到这一点


(如果这对svn/tortoise svn不起作用,git svn会起作用吗?

svn中的分支和合并只在同一个存储库中起作用。所以没有办法达到你想要的

但是,如果您想说明您想要达到的目标,可能有一个解决方案:

  • 将A公司和B公司的开发分离,这样就不会有重叠
  • 在你的小项目上工作(如果没有,在大项目中将永远不会被注意到),但是共享文件
如果第二个是有趣的,那么以下方法可能有效:

  • 与SVN在本地签出大型项目
  • 在那里创建一个新的Git存储库
  • 将该Git存储库本地克隆到一个单独的位置
  • 在独立的存储库上工作,并在您认为应该将更改交付给大项目时推动更改
  • 然后将Subversion工作副本(同时也是Git存储库的工作副本)中的更改提交给大项目

  • SVN中的分支和合并只能在同一存储库中工作。所以没有办法达到你想要的

    但是,如果您想说明您想要达到的目标,可能有一个解决方案:

    • 将A公司和B公司的开发分离,这样就不会有重叠
    • 在你的小项目上工作(如果没有,在大项目中将永远不会被注意到),但是共享文件
    如果第二个是有趣的,那么以下方法可能有效:

  • 与SVN在本地签出大型项目
  • 在那里创建一个新的Git存储库
  • 将该Git存储库本地克隆到一个单独的位置
  • 在独立的存储库上工作,并在您认为应该将更改交付给大项目时推动更改
  • 然后将Subversion工作副本(同时也是Git存储库的工作副本)中的更改提交给大项目

  • 最简单的方法是拥有两个工作副本A和B,并手动将文件从A复制到B

    如果A公司允许,您可以在存储库A中分支一个项目,并将该分支作为外部存储库导入到您的项目B中。缺点是A公司的存储库中将包含您的源代码


    编辑:一个存储库可以通过属性包含来自另一个存储库的文件夹。基本上,您可以在存储库中声明某个文件夹实际上是其他存储库的完整工作副本。在您的案例中,“其他存储库”实际上是您感兴趣的项目的一个分支。当您添加一个属性(在另一个存储库中有一个分支的文件夹名和URL)时,只需更新工作副本,Ortoise就会从另一个存储库下载所有文件。一个小缺点是您必须分别提交另一个项目和工作副本(两个单独的提交操作)。

    最简单的方法是使用两个工作副本A和B,并手动将文件从A复制到B

    如果A公司允许,您可以在存储库A中分支一个项目,并将该分支作为外部存储库导入到您的项目B中。缺点是A公司的存储库中将包含您的源代码


    编辑:一个存储库可以通过属性包含来自另一个存储库的文件夹。基本上,您可以在存储库中声明某个文件夹实际上是其他存储库的完整工作副本。在您的案例中,“其他存储库”实际上是您感兴趣的项目的一个分支。当您添加一个属性(在另一个存储库中有一个分支的文件夹名和URL)时,只需更新工作副本,Ortoise就会从另一个存储库下载所有文件。一个小缺点是,您必须分别提交另一个项目和工作副本(两个单独的提交操作)。

    供应商分支和svn:externals


    回购A的“主分支”在回购B树中添加为“某些分支”。“分支开发”在干净的回购B树中开发,完成的分支与回购A的svn:exnernals再次链接

    供应商分支和svn:externals


    回购A的“主分支”在回购B树中添加为“某些分支”。“分支开发”在干净的回购协议B树中开发,完成的分支与svn链接:再次从回购协议A中导出,这样就可以了。但是我如何才能只将特定的分支导入到外部存储库中呢?那没关系。但我如何才能只将特定的分支导入到外部存储库?供应商分支确实是解决方案(我不知道),但这两行解释很难传达这一信息。请更好地解释一下。供应商分支确实是解决方案(我不知道),但这两行解释传达的信息很差。请解释清楚。