X

Hugoのテーマでsubmoduleを使う方法

更新日:2020/02/02 作成日:2018/07/11

HugoのThemeプロジェクトをgit submoduleで扱う方法について調べました。

Cloneしてきたリポジトリがsubmoduleを使用している場合

  • submoduleを使ったリポジトリをcloneした時、そのままの状態では、submoduleのディレクトリは空
  • git submodule initで初期化した後、git submodule updateして初めてダウンロードされる

  • submodule の基礎 - Qiita

Submoduleを導入するメリット

  • 親プロジェクトから全てのsubmoduleのバージョンを一括管理できる
  • submoduleはあくまで外部モジュールなので、親プロジェクトと別の開発ができる
  • コミットレベルで外部モジュール(submodule)のバージョンと紐づけるので、親プロジェクトのバージョンを変更した場合も安心

作業ログ

  • 最初、submoduleの追加の仕方がわからなかった
    • git submodule add XXX xxxx でO.K.
      • 以下2つの差分が発生する
        • .gitsubmodule
        • XXXX
  • 更新の仕方が不明
  • 更新手順
    • テーマの変更をCommit、Push
    • 親リポジトリでsubmoduleの向き先を変更してCommit、Push
    • ポイントは「SubmoduleのCommitは親リポジトリにおける参照の変更である」ということ

NetlifyでSubmoduleを用いる方法

  • プライベートリポジトリを取得できなかった。何かやり方があるものか
    • submoduleをPublicにすることで取得することはできた
  • Working with submodules | The GitHub Blog

参考

出版社:シーアンドアール研究所
著者: 湊川 あい
発売日: 2017-04-21

スポンサーリンク