小编典典

SVN:Git 中的外部等效项?

all

我使用svn:externals从另一个 SVN
存储库使用了两个 SVN 项目。

如何在 Git 中拥有相同的存储库布局结构?


阅读 98

收藏
2022-07-27

共1个答案

小编典典

Git 有两种与 svn:externals 类似但不完全等价的方法:

  • 子树合并 将外部项目的代码插入到您的存储库中的单独子目录中。这有一个详细的设置过程,对于其他用户来说非常容易,因为它会在存储库被检出或克隆时自动包含在内。这是在项目中包含依赖项的便捷方式。
    从另一个项目中提取更改很容易,但提交更改回来很复杂。如果另一个项目必须从您的代码中合并,则项目历史会合并,两个项目实际上会合二为一。

  • Git 子模块手动)链接到另一个项目存储库中的特定提交,就像 svn:externals 带有-r参数一样。子模块易于设置,但所有用户都必须管理子模块,这些子模块不会自动包含在结帐(或克隆)中。
    尽管将更改提交回其他项目很容易,但如果 repo 发生更改,这样做可能会导致问题。因此,通常不适合将更改提交回正在积极开发的项目。

2022-07-27