-2

如果应用程序的特定组件与父应用程序足够分离,可以被其他应用程序使用,我将如何将该组件放入它自己的作曲家包中,但仍将其维护在父应用程序的范围内?

例如,我想实现 Laravel 对其数据库组件所做的事情:https ://github.com/illuminate/database

由于它说只读,我的印象是“子树”仍然从父 Laravel/framework git 存储库维护,但保留了常规 git 存储库的特征,以便将其作为 Composer 包分发。

我的印象准确吗?我如何实现这个魔法?

提前致谢。

4

1 回答 1

0

这是通过使用 git 子树拆分来完成的,如GitHub 帮助中所述:

$ git filter-branch --prune-empty --subdirectory-filter \
 YOUR_FOLDER_NAME master
# Filter the master branch to your directory and remove empty commits
# Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89)
# Ref 'refs/heads/master' was rewritten

现在该YOUR_FOLDER_NAME文件夹已成为您项目的根目录,您可以将其推送到另一个远程(另一个存储库)。其他存储库现在只包含YOUR_FOLDER_NAME,您可以为此创建一个包。

于 2014-11-08T09:50:54.133 回答