« AndroidでのCPU-GPU画像(メモリ)転送速度はロック時間を考えないと大差ない? | メイン | ハードウェア描画と互換性 »

2017年05月22日

日常の備忘録:: Git submodule メモ

    

自分で使う場合によく出くわすものについて。
前提 : Git の submodule は、特定リポジトリの特定コミットとフォルダを関連付ける物。
特定コミットなのが曲者で、submodule 内をいじるとその度に何をすればいいんだったか検索している。

自分の場合は、git status で見た時ほぼ以下のどちらか。

(untracked content) : ローカル submodule 側が更新されているけど、参照側でコミットしていないなど。
TortoiseGit でコミットしようとしたときにサブモジュールがリストに現れる時はこれかな?
自分の場合は、.gitignore 追加漏れで発生していることが多い。
コミットする必要のないファイルで更新がかかっているけど、コミット漏れ扱いになってる。

対策は、.gitignore に追加する必要のないものはきちんと追加する。
まだコミットしていないものがあるのならコミットする。


(new commits) : submodule 側が進んでいるので、参照先コミットを差し替える。
サブフォルダの submodule に変更加えて、そのままそこでコミット/push を行っていると出る。
git add submodule_path コマンドで参照先を差し替えてやる。
例 : git add external/zlib
参照先を差し替えた後はコミット。

自分の場合はほぼこの2パターン。
サブフォルダで編集して、そのまま submodule の方へコミットするというような更新の仕方をしているからだと思う。

確かこうだったはずと、このエントリーを書いているので、次に同じことになった時、間違っていたらこの記事は更新する。


投稿者 Takenori : 2017年05月22日 16:55




comments powered by Disqus
Total : Today : Yesterday : なかのひと