サブモジュール

ドキュメント:

サブモジュール | Pro Git Book [公式]

git submodule コマンド

参考:

git-submodule | Git Documentation [Official]

導入

参考:

サブモジュールの基礎 – Qiita

サブモジュール機能を使ってプロジェクトを管理してみよう | vdeep

サブモジュールを追加してみる – Qiita

サブモジュールを使ってみる | CUBE SUGAR CONTAINER

サブモジュールは癖がすごいとの噂だったが素直につきあっていけそうという話 | deadwood

使い方

リポジトリをサブモジュールとして追加する。

$ git submodule add https://github.com/user_name/repo_name path/to/somewhere

参考:

git submodule – 使い方 | transitive.info

サブモジュールをチェックアウトする

サブモジュールのディレクトリ内でチェックアウトした後、プロジェクトで git add してコミットする。

$ cd my_project
$ cd my_module
$ git checkout v1.2.3
$ cd ..
$ git add my_module
$ commit -m 'Bump up my_module to v1.2.3'
$ git push

参考:

git submodule でブランチ/タグをチェックアウトする – Qiita

サブモジュールにて特定のブランチやコミットを使用する | ハックノート

サブモジュールを別のブランチに切り替える | ごずろぐ

How can I specify a branch / tag when adding a Git submodule? – Stack Overflow

git submodule update コマンド

リモートの変更を反映させる。

$ git pull
$ git submodule update

参考:

サブモジュールの更新方法を勘違いしていた | rochefort’s blog

git submodule status コマンド

各サブモジュールで現在チェックアウトされているコミットハッシュを確認する。

$ git submodule status

参考:

status – git-submodule | Git Documentation [Official]

連動してコミットとプッシュを行う

参考:

サブモジュールを親のリポジトリと同時にコミット、プッシュしたい – スタック・オーバーフロー

リポジトリを変更する

.gitmodules ファイルを編集して、git submodule sync コマンドを実行する。

参考:

How to change the remote repository for a git submodule? – Stack Overflow

--ignore-submodules オプション

参考:

サブモジュールで発生した変更を親リポジトリで無視する2つの方法 | DevelopersIO

サブモジュールの登録を削除する

サブモジュールの登録を削除するには、git submodule deinit コマンドを使う。

$ git submodule deinit path/to/submodule_dir

ファイルは残るので、不要であれば削除する。

$ git rm path/to/submodule_dir

参考:

deinit – git-submodule | Git Documentation [Official]

再作成する

参考:

サブモジュールを再作成する時の注意 – Qiita

ローカルのみでサブモジュールを作成する

参考:

Nested Git repositories without remotes (a.k.a. git submodule without remotes) – Stack Overflow

まとめ

サブモジュールの押さえておきたい理解ポイントのまとめ – Qiita

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA