0

这就是问题所在。我是一个大型团队的一员,从事一个(你猜对了)大型项目。我们正在使用各种支持 git 的项目,例如 jquery、backbone、underscore、timezoneJS、momentjs、backbone.grid 等。我们还获得了一些共享的“架构”资源,这些资源在另一个项目中是需要的。

该公司主要在 SVN 上运行,但我认为我们的项目在 GIT 上是有意义的——我们可以停止将这些外部资源保留在我们的仓库中,而是从“真相的来源”中获取它们。更重要的是,我们在项目之间使用的共享资源可以在一个上进行编辑以修复错误,然后该编辑可以相对轻松地在项目之间进行共享。

我认为有一种方法可以通过 SVN 做到这一点,但我离 SVN 专家还很远。

无论如何,问题如下:是否有可能,或者是否有工具,使用 git 子模块获取 git repo,将其全部打包并将其提交给 SVN,并附上适当的变更日志?我们还需要回读更改,因为一些文件会根据各种构建内容自动更新。我调查了 subgit,但这似乎不支持这一点。

关于项目设置的一些信息:

项目#1:

  • 源代码
    • 架构——公司范围内的东西和whatsits
      • lib --jquery、moment 等
    • project#1files -- 项目特定文件
    • 索引.html
    • 引导数据文件

项目#2:

  • 源代码
    • 架构——公司范围内的东西和whatsits
      • lib --jquery、moment 等
    • project#2files -- 项目特定文件
    • 索引.html
    • 引导数据文件

..你可以看到基本流程:)

4

1 回答 1

0

如果您想迁移到 GIT,因为您提到它对您的团队更有意义,您应该能够使用git svn获取提交并将它们推送到 GIT 存储库(可能每个项目一个?)。

一个不太理想和 hack-ish 的选项是将您的 GIT 克隆提交到您的 SVN 存储库。SVN 对二进制文件相当好,所以这样做不会太累...不过,几乎不推荐,因为您的 SVN 存储库中有一堆 GIT 元数据,并且在您想要更新时必须获取并提交您的外部依赖项(不必要地增加了存储库的大小而收效甚微)。

我自己几乎不是 SVN 或 GIT 专家,所以我不知道是否有(可能)更好的方法。如果您的公司仅仅因为公司的其他人使用 SVN 而反对让您的团队切换到 GIT,那么您最好尝试改变企业文化。

于 2022-02-18T01:10:59.877 回答