-2

アプリケーションの特定のコンポーネントが、他のアプリケーションで使用できるように親から十分に分離されている場合、そのコンポーネントを独自のコンポーザー パッケージに作成し、親アプリケーションのスコープ内で維持するにはどうすればよいでしょうか?

例として、Laravel がデータベース コンポーネントで行ったことを実現したいと思います: https://github.com/illuminate/database

READ ONLY と書かれているので、その「サブツリー」は親の Laravel/framework git リポジトリからまだ維持されていますが、Composer パッケージとして配布するために通常の git リポジトリの特性を保持しているという印象を受けます。

私の印象は正しいですか?どうすればこの魔術を達成できますか?

前もって感謝します。

4

1 に答える 1

0

これは、GitHub ヘルプで説明されているように、git サブツリー分割を使用して行われます。

$ 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 に答える