猫でもわかるWeb開発・プログラミング

本業エンジニアリングマネージャー。副業Webエンジニア。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〉

  • 作者:湊川 あい
  • 発売日: 2017/04/21
  • メディア: 単行本(ソフトカバー)

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

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

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