1. ホーム
  2. git

[解決済み] git サブモジュールがサブフォルダを指すように変更するには?

2022-08-07 23:19:52

質問

読み飛ばし SubModule チュートリアル からサブモジュールを作成しました。 boto プロジェクト . そして、実際に必要なのはこのプロジェクトのサブセットだけであることを発見しました。 boto フォルダーです。

サブモジュールをこのフォルダを指すように変更したいのですが。.gitmodulesを見ると、以下のように表示されています。

[submodule "backup/src/boto"]
    path = backup/src/boto
    url = https://github.com/boto/boto.git

の代わりにどのような URL を使用すればよいのでしょうか? https://github.com/boto/boto.git ? URLを変更したら、ローカルにあるbotoフォルダを削除して、再度pullすればいいのでしょうか?

どのように解決するのですか?

サブモジュールの URL は常にリポジトリを指します。リポジトリのサブフォルダのみを指定することはできません。

リポジトリ全体をサブモジュールとして持つことに抵抗がある場合は、いつでも boto からクローンした新しいリポジトリを作成し、cron ジョブを設定することができます。

  1. git fetch そのリポジトリをディレクトリに
  2. 使用する git filter-branch を使用して、サブディレクトリがトップレベルであるブランチを更新します。
  3. リポジトリ内のそのブランチをサブモジュールとして追加します。 しかし、これは少し面倒で、私の好みは、リポジトリ全体をサブモジュールとして持つことと共存することだけです。