web-dev-qa-db-ja.com

gitリポジトリから特定のフォルダーをgitサブモジュールとして追加するにはどうすればよいですか?

Gitリポジトリがあり、それにサブモジュールを追加したいと思います。問題は、サブモジュールが別のリポジトリ内のフォルダーとして存在することです。そのフォルダのみをサブモジュールとして追加できますか?

33
tuxcanfly

自分のリポジトリの履歴に他のリポジトリの一部を含める必要がある場合は、サブモジュールよりも サブツリーマージ戦略 の方が適切です。

ただし、どちらの場合も、リポジトリ全体が1つのディレクトリだけでなく、リポジトリにリンクされます。
そして 部分的なクローン作成はできません

独自のリポジトリで そのディレクトリを分離 を試してから、サブモジュールとして追加することもできますが、これは、その履歴が元のリポジトリから完全に分離されることを意味します。

20
VonC

私はこれをすることになった:

  1. submodulesディレクトリを作成します。
  2. このディレクトリにサブモジュールを追加します。
  3. サブモジュール内の特定のディレクトリへのシンボリックリンクを作成します。

このようにして、デフォルトのGitサブモジュールの動作があり、プロジェクトではサブモジュール全体のサブセットのみを使用します。

33
gitaarik
  1. 新しいブランチを作成する
  2. 必要なファイルを新しいブランチに移動します
  3. スーパーリポジトリにサブモジュールを追加する
  4. サブモジュールを新しいブランチにチェックアウトする
0
BinaryMaker