2

我们有一个 git 存储库,该存储库当前拥有一个工作的 Magento 站点。该存储库包含所有核心 Magento 文件以及一些自定义和社区模块。我想做的是获取一些自定义模块并将它们移到自己的存储库中。

不幸的是,熟悉 Magento 目录结构的人都知道,Magento 中的模块并不是完全自包含在单个目录中,而是文件分布在多个目录中,例如app/code/local/{namespace}/{module}/app/design/frontend/base/{namespace}_{module}/等等。我想要实现的是存储库,仅包含一个模块的所有文件,与它们当前具有的目录结构相同。在这一点上,我将能够创建只需解压缩到 Magento 站点目录的可分发存档(尽管我可能会在我自己的项目中使用 modman,以保持分离)。

我可以想到两种简单的方法:

  1. 克隆存储库,删除与相关模块无关的所有文件,并将源远程更改为新的空白存储库。
  2. 在空白文件夹中初始化一个新存储库,并将文件复制/粘贴到正确的目录层次结构中。提交他们。

这两种方法的缺点是我会丢失文件上的所有提交历史记录,这将是一种耻辱。我对如何保留这一点进行了一些研究,进行子树拆分似乎很有希望,但事实证明文件并不都在同一个目录中,这超出了我的能力范围。有没有人有做这种事情的经验?

4

1 回答 1

1

我找到了你想要的(希望如此): https ://help.github.com/articles/splitting-a-subpath-out-into-a-new-repo

旧答案:看看:https ://github.com/colinmollenhour/modman我更喜欢它。

但是我还没有尝试过第二件事: https ://github.com/jreinke/modgit

于 2012-12-26T18:33:58.927 回答