Submoduleの使い方#
GitSubmoduleとは#
Gitリポジトリ内に別のGitリポジトリをサブモジュールとして入れることができる機能。
例えば、あるプロジェクト内で他のプロジェクトを依存関係として管理する場合などに使用。
他のリポジトリで管理しているライブラリをプロジェクトのリポジトリ内で使用したいなど
Submoduleの追加方法#
submodule
コマンドと追加したいリポジトリのURLで追加
submoduleはコミットのハッシュ値で管理されるため,変更履歴としてハッシュ値の変更が残る
そのため,ハッシュ値を追加したということをコミットする必要がある
$ git submodule add <URL(git@github.com:user/repo.git)>
$ git add .
$ git commit -m "feat: add repo as submodule"
Submoduleの更新方法#
submoduleのリポジトリ側で更新があった場合,update
コマンドで更新する必要がある
$ git submodule update --remote
Submoduleの編集#
submoduleのリポジトリを編集するとき,リポジトリのフォルダ内を編集する コミットするときは,submoduleのリポジトリ内で行う必要がある 更新後は,大元のリポジトリでsubmoduleの更新が必要
# subAというsubmoduleがあったとき
$ cd subA
$ git commit -am "feat: xxx"
$ git push
$ cd ../
$ git submodule update --remote