3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Git Submodulesでよく使うコマンド一覧

Last updated at Posted at 2024-05-31

Gitでよく使うコマンドは2部構成です。

はじめに

Git Submodulesがよくわからなかったので、よく使うコマンドを調べてまとめました。

環境

  • Git:2.45.1

Git Submodulesでよく使うコマンド一覧

git submodule

コマンド 説明
git submodule update --init --recursive サブモジュールをクローンする
git submodule update --remote 全サブモジュールの変更を取り込む
git submodule update --remote {サブモジュールのパス} 対象サブモジュールの変更を取り込む

Git Submodulesでよく使うテクニック

クローン時にサブモジュールもクローンする

git clone --recursive {リポジトリのURL} でサブモジュールを含むリポジトリをクローンできます。

--recursive を付けないとサブモジュールがクローンされないので注意です。

$ git clone --recursive {リポジトリのURL}

サブモジュールをクローンし忘れたリポジトリを再クローンせずに対応する

--recursive を付け忘れてクローンすることはまれによくあります。
その場合は以下のコマンドを実行することで、ローカルからリポジトリを削除して再クローンしなくても済みます。

$ git submodule update --init --recursive

サブモジュールの変更を取り込む

サブモジュールのフォルダまで移動し、 git fetchgit rebase origin/main を実行することで、サブモジュールの変更を取り込めます。

要は通常のリポジトリを扱うときと同様です。

$ cd foo/
$ git switch main
$ git fetch
$ git rebase origin/main

ちなみに上記の作業は git submodule update --remote {サブモジュールのパス} を実行すれば一発で完結します。

$ git submodule update --remote foo/

あとはメインモジュールのフォルダへ戻り、 git addgit commit します。

$ cd -
$ git add foo
$ git commit

これでサブモジュールの変更を取り込めました。

おわりに

私はGit Submodulesにおいて最低限の操作しか行いません。
他にもよく使うコマンドやテクニックがあれば教えていただけると嬉しいです :relaxed:

参考リンク

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?