Gitサブモジュールを消たくなり毎回やり方を忘れてググっている君(私)へ

git submoduleを使うと複数のリポジトリをまとめることができる。 しかし開発を続けていくと この構成じゃ無いな と思い直すこともある。 そんなふとした瞬間にサブモジュールを邪魔に感じて消したくなる。

そんな時が訪ずれたら今すぐそのサブモジュールを消そう。

サブモジュールの位置を確認する。 (path/to/submodule/directoryがサブモジュールとする)

$ git submodule
-33658f26c1f9346dfcae92d35da0d98b4beaac61 path/to/submodule/directory

git submodule deinit でサブモジュールを解除する。

$ git submodule deinit path/to/submodule/directory
Cleared directory 'path/to/submodule/directory'

サブモジュールの位置にあったツリーを削除する。

$ git rm path/to/submodule/directory
rm 'path/to/submodule/directory'

コミットする。

$ git commit
[feature/delete-submodule 8795ba0] submoduleを消し去る
 2 files changed, 4 deletions(-)
  delete mode 160000 path/to/submodule/directory
$

さようなら、サブモジュール。