LoginSignup
134
77

More than 3 years have passed since last update.

[git] submoduleの削除、再追加について

Last updated at Posted at 2019-09-29

はじめに

gitのsubmoduleを使う機会があったのですが、間違えて追加して再追加するときに、いろいろ戸惑ったので、まとめました。

submoduleの追加

$ git submodule add サブモジュール化したいリポジトリ パス/名前指定

submoduleの追加は上記のコマンドで行えます。
パス/名前指定を空白にすると、現在のディレクトリにリポジトリ名のままで作成されます。

submoduleの削除

$ git submodule deinit -f 追加したサブモジュール
$ git rm -f 追加したサブモジュール
$ rm -rf .git/modules/追加したサブモジュール 

submoduleの削除は上記のコマンドで行えます。
忘れがちなのが、.git/modules/追加したサブモジュールですね。これを消し忘れると、ローカルに存在すると言われ再追加ができなくなります。

submoduleの再追加

$ git submodule add サブモジュール化したいリポジトリ パス/名前指定

再追加はsubmoduleの追加と同じコマンドです。
これがうまくいかない場合正しく削除できていないので、確認しなおしましょう。

まとめ

再追加できないときは、.git/modules/追加したサブモジュールの消し忘れの可能性があります。
vscodeではここの差分がでないので注意です。

134
77
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
134
77