2020/08/08

git submodule削除の仕方

git

概要

私は最近、以下のような構成でプロジェクトを組むことがあります。

- server-repository (Rest API Server)
- web-client-repository (NuxtJSなどのWeb ClientをHostするServer)
- infra-repository (諸々をDeployするInfraのソースコードが含まれたもの)
  ├── terraformの設定ファイルを含めたり
  ├── kubernetesの設定ファイルを含めたり
  ├── git submodule server-repository
  └── git submodule web-client-repository

infra用のrepositoryにdeploy関連の諸々のコードを記述するのですが、各プロジェクトに依存することがあるので
git submodule を使って、infra用repositoryにincludeすることをしています。

今回は、 git submodule addで追加したリポジトリを削除する必要が出てきたので、調べて対応しました。

実施事項

前提

以下のようにsubmoduleを追加していたとします。

$ git submodule add git@git-host:git-user/repository-name.git repository-name

削除方法

$ git submodule deinit -f repository-name
$ git rm -f repository-name
$ rm -rf .git/modules/repository-name

コマンド1つでできないのが苦しいですが、上記で対応できました。

以上です。