Skip to content

Instantly share code, notes, and snippets.

@LeeDDHH
Last active November 3, 2022 07:10
Show Gist options
  • Save LeeDDHH/a4be8543e507e6d4ae41964d5fcde6b3 to your computer and use it in GitHub Desktop.
Save LeeDDHH/a4be8543e507e6d4ae41964d5fcde6b3 to your computer and use it in GitHub Desktop.
gitにサブモジュールを追加する方法(git、submodule)

submoduleとは

  • 外部のリポジトリを現在のプロジェクトに追加するときに使うコマンド
    • git submodule

コマンド

  • 現在のプロジェクトに外部リポジトリを追加する
    • git submodule add <url> 現在のプロジェクトで扱う外部リポジトリの別名
  • サブモジュールの確認
    • git submodule
    • git submodule status
  • サブモジュールの削除
    • git submodule deinit サブモジュール名
  • サブモジュールの更新
    • プロジェクト内でサブモジュールとなるリポジトリをCommitID単位で管理するイメージ
    • git submodule update
      • プロジェクト内の複数のsubmodule全てを更新する
    • git submodule update --remote サブモジュール名
      • 特定のサブモジュールのみを更新
      • サブモジュール名は .gitmodules もしくは .git/config で確認できる

submodule追加時にローカルリポジトリ内で起きる変化

  • 追加・修正されるもの
    • .gitmodules
      • サブモジュールを追加することで作成されるファイル
      • どんなリポジトリをどんな名前で、どこにsubmoduleとして登録しているかの設定が追加される
    • .git/config
      • リポジトリのローカルブランチについての設定やsubmoduleの設定が記載される
    • .git/modules/submodule_repo
      • submoduleとして追加したリポジトリのgitに関する設定
    • submoduleとして追加したリポジトリの中身
      • 追加したリポジトリ

参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment