Log.log(work)

いろんな作業メモ

git submodule

外部リポジトリを自リポジトリに持ってきて参照できるしくみ。

[Add submodule] submoduleを別ブランチに追加する場合

  • When you command ‘git clone’

.gitmodulesファイルがあれば、そこに記述されているrepositoryをsubmoduleとして取り込む。

  • When you command manually ‘submodule add’

手動でsubmoduleを追加する場合は以下のコマンドで追加する。

$ git submodule add url/xxx.git [フォルダ名]

[Edit submodule] (取り込んだ先から)submoduleを編集する場合

取り込んだsubmoduleディレクトリに移動し、別ブランチを作成してcommit & pushする。

  • example
$ cd common

$ git checkout -b work

修正したらadd & commit & push

$ git commit -m "common update"

$ git push origin work

repositoryに修正内容を反映し、取り込んでいる各repositoryを更新する。

[Update submodule] submoduleが最新になった場合

下記のコマンドで取り込む。

git submodule foreach git pull origin master

[Delete submodule] submoduleを削除する場合

取り込んだsubmoduleを削除する場合

  • example (hogeがsubmoduleである場合)
git submodule deinit hoge
git rm hoge