0

我有一个根 git 目录。我想在根目录下放另一个独立的 git 存储库作为子目录。

我正在使用repo,所以我不能使用submoudles。我想使一个子目录符号链接到一个独立的目录。最外面的目录将包含新的 git 存储库。

我看到还有另一个选项Detach (move) subdirectory into separate Git repository using git subtree.

  1. 我可以在使用 repo 工具时使用它吗?
  2. 使用子树比使用符号链接解决方案更好吗?
4

1 回答 1

0

subtree与 不同submodule,不需要任何额外的步骤来获取它管理的子目录的源代码。也就是说,简单git clonegit checkout将“交付”使用subtree. 因此,任何与 Git 一起使用的工具都应该适用于子树,包括 Repo(尽管我个人并没有完全尝试使用子树)。

但是请注意,要更新使用子树管理的目录,仍然需要手动进行。也就是说,子树指向的提交存储在 Git 存储库本身中,并且只能手动更新git subtree mergegit subtree pull再次更新。

将子树管理的目录视为存储库中的任何其他目录。唯一要subtree补充的是 - 它允许将其他分支(包括远程分支)合并到特定前缀(即子目录)中。并且做得很好。

使用外部存储库的链接可能不起作用 - 请参阅另一个 SO 答案 - https://stackoverflow.com/a/1507967/302343

于 2013-11-06T21:35:44.617 回答