1円でも得したいWebエンジニアの日常

クーポンだったりクレジットカードのポイントだったりを利用して1円でも得しつつ生活を便利にしていきたいWebエンジニアによるブログ。技術的な記事から商品レビューなど日常的なことまで。

Git Submodule に登録されているリポジトリを更新する

f:id:yoshiki_utakata:20181121093826j:plain

概要

GitのSubmoduleとして登録されているリポジトリを最新のmasterに追従します

やりかた

submoduleのディレクトリに入って普通にgit pull!*1

$ git submodule status
  e065feaa545087dd49f690a838237fe6239b00f6(サブモジュールのコミットID) el-get (2.2-4466-ge065feaa)

$ cd <サブモジュールのディレクトリ>
$ git status
HEAD detached at e065fea

$ git pull origin master
$ git status
 HEAD detached at 05a0798

$ cd ..
$ git status # サブモジュールのコミットIDが変わっていることを確認
diff --git a/el-get b/el-get
  index e065fea..05a0798 160000
  --- a/el-get
  +++ b/el-get
  @@ -1 +1 @@
  -Subproject commit e065feaa545087dd49f690a838237fe6239b00f6
  +Subproject commit 05a07983a52a8dfd809f697ecc4c103e716e876b
  
$ git add <submodule>
$ git commit

これでサブモジュールのコミットIDが変わる。

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

【改訂新版】Gitポケットリファレンス

【改訂新版】Gitポケットリファレンス

*1:今回のはel-getをサブモジュールに登録している例