HugoでSubmoduleのテーマ更新メモ

How to update submodule theme

* 本ページはプロモーションが含まれています

このサイトでは、Gitlab上にてHugoのBeautifulhuigoのテーマをsubmoduleで管理しています。

時々、本家submodueのテーマが更新されますが、gitのcloneやpushでは、submoduleは自動で更新されません
なので、手動で更新してあげる必要があり、よく作業するので、メモっておきます

自分のリポジトリをクローン 

$ git clone --recurse-submodules --depth 1 https://gitlab.com/user/repo.git
$ cd repo

submodule更新 

実際作業するのは、git submodule update --remoteだけで良いです

$ git submodule status
 91a30c4f752864aaafa2ae2b633d022c8810a5e8 themes/mainroad (91a30c4)

$ git submodule update --remote
Submodule path 'themes/mainroad': checked out '10d59da42f7bca5e7bd9e0409509a608fdd84080'

$ git diff
diff --git a/themes/mainroad b/themes/mainroad
index 91a30c4..10d59da 160000
--- a/themes/mainroad
+++ b/themes/mainroad
@@ -1 +1 @@
-Subproject commit 91a30c4f752864aaafa2ae2b633d022c8810a5e8
+Subproject commit 10d59da42f7bca5e7bd9e0409509a608fdd84080

更新したsubmoduleを適用 

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   themes/mainroad (new commits)

no changes added to commit (use "git add" and/or "git commit -a")

$ git add .
$ git commit -m "Update submodule"
$ git push

See also