1

我有一个项目,它有一个存储库。我有回购的根文件夹,

/A
  /A1
  /A2
/B
  /B1

我想将 A 文件夹分离到一个不同的存储库中,然后我想要另一个存储库,它看起来与上面描述的完全一样,但是我希望文件夹 A 成为存储库的子模块,而不是文件夹 A创建的。这样 A 是一个独立的项目,另一个 repo 依赖于子模块 A,但也包含 B。

我该怎么做?还是我必须创建一个丢失所有提交的全新项目?

已经谢谢了!

4

1 回答 1

0

您可以克隆存储库并用于git filter-branch从两个存储库中删除您不想要的历史记录。之后,您可以将 A 作为子模块添加到 B。

编辑:遵循 github 指南后,执行

git filter-branch --tree-filter "rm -rf A" --prune-empty HEAD从 B 中删除 A 的历史记录。

编辑:这个SO question 有一个全面的答案。

于 2012-07-07T13:34:23.193 回答