git submodule を使ってみる

git submodule というのは、とてもざっくり言うと git のリポジトリ入れ子のようにすることができる機能です。ポインタのような感じで、親リポジトリから子リポジトリを指し示すようになっています。 設定は .gitmodules というファイルに記載されています。

おそらく github のページでは下のようなアイコンが表示されているディレクトリが submodule です。 https://octicons.github.com/img/og/file-submodule.png

リポジトリに子リポジトリを登録する

リポジトリで以下のコマンドを実行します。

$ git submodule init # submodule を使う前にこれを言う必要がある
$ git submodule add git@github.com:[ユーザ名]/[子リポジトリ名]

ググるとおそらく一番最初に出てくる、Qiita の記事がとてもわかりやすかったです。 qiita.com

リポジトリが更新されたので、親でもそれを反映したい

リポジトリで下のコマンドを実行します。

$ git submodule update

登録していた submodule を消す

ネットを徘徊したところ、これが一番わかりやすいみたいです。(実際にこのページに行くと、この gist の下にいろんな人が "Thanks!" とメッセージを送りまくっています笑)