PR

gitのsubmoduleについてまとめ

git

submoduleに関する忘備録です。

立プロ

新卒でメーカーに入り、10年間組み込みの現場で設計を行う。
今は個人事業主として自作の組み込み機器開発や、エージェント様に紹介いただき業務委託を行っています。
C,C#,JavaScript, Vue, PHP, VBA, GAS, Kotlinなど、扱う言語が増えゆく日々。

立プロをフォローする

submoduleとは

GitのSubmoduleは、リポジトリ内に別のリポジトリをサブモジュールとして組み込むための機能です。

これにより、異なるプロジェクトやライブラリを簡単に取り込むことができます。

追加方法

submoduleとして追加したいディレクトリに移動します。

そのディレクトリ内で以下のコマンドを実行

$ git submodule add <追加するリポジトリのSSH>

submoduleを更新したときの対応

共同開発の場合や自身の開発が進んだ場合など、submoduleを更新することもあるかと思います。

この場合、まずsubmoduleが入ったディレクトリに移動します。

そして、submoduleをpullするなりadd, commitするなりして更新。ここは通常の処理と変わらないですね。

submoduleはこのあとの対応が必要で、親のリポジトリに戻ったらsubmoduleの更新分をcommitする必要があります。

submoduleをcommitしたことで1段上がっているので、そちらに向きを変えるイメージです。

submoduleはプロジェクト毎に独立している

プロジェクトA、プロジェクトBがあったとして、それぞれ同じリポジトリをsubmoduleとして組み込んだとします。

submoduleとして組み込んだリポジトリはプロジェクト内で独立しているので、プロジェクトAのsubmoduleを更新しても、プロジェクトBのsubmoduleは更新されないです。

コメント

タイトルとURLをコピーしました