スパゲッティコード

色々やりたいので書いてこうと思います

fatal: reference is not a tree: の解決策

結論から言うとものすごーーーーーーくアホなことしました。

僕のPCでSubmoduleのソースを修正し、コミット。 親モジュールでSubmoduleの変更をコミット、リモートにPush。

さあ、もう察しの言い方は気づいていると思います。 答えは後ほど。

何が起きたか。 他の僕以外のPCで最新を取得しようとして、Submoduleの更新ができない。 なぜだ!?

git submodule update しても、以下のエラーが出ちゃいます。

fatal: reference is not a tree: da5895a5e0d1f827ccc0b94a0fe51f385875b4f8 Unable to checkout 'da5895a5e0d1f827ccc0b94a0fe51f385875b4f8' in submodule path 'submodule'

エラーメッセージをググってみると git reset しろだの、git add からの commit、pushしろだの書かれていますが、 解決策はそうではありませんでした。 たった一つシンプルな事でした。

僕がSubmoduleの修正をPushしていませんでした

はい。ほんとーーーーーーにごめんなさい。 海より深く反省します。

メソッド追加して呼び出したソースをPushしたのにメソッド追加した側をPushしてないからコンパイルエラー的な。 こんな感じですね。

Submoduleって非常に便利だな、と思うんだけど意外と使いどころが難しいというか、ピーキーだなと思ってます。 まだ慣れてないだと思いますけど。 まあそんなわけでみなさん、気をつけようね☆