追加したサブモジュールを削除する
追加した「サブモジュール」を削除します。「サブモジュール」の削除は、以下の流れで紹介します。
- 現在のサブモジュールの状態
- サブモジュールの登録の抹消
- サブモジュールのワーキングディレクトリーの削除
- サブモジュールのGitディレクトリーの削除(任意)
1.現在のサブモジュールの状態
まず、現在の「サブモジュール」の状態を確認します。1-1.サブモジュールの状態
以下のように、チェックアウトされた「サブモジュール」が2つあることが分かります。ここでは例として、「mySubProject」サブモジュールを削除します。
1-2.configファイルの中身
リポジトリーの設定ファイルである「config」ファイルを見てみます。「config」ファイルは、「スーパープロジェクト」の「Gitディレクトリー」にあります。
「config」ファイルを開いて「サブモジュール」の設定を見てみると、以下のようになっています。
1-3.gitmodulesファイル
サブモジュールの情報を記述する「.gitmodules」ファイルを見てみます。「.gitmodules」ファイルは、「スーパープロジェクト」の「ワーキングディレクトリー」にあります。
「.gitmodules」ファイルを開いて「サブモジュール」の設定を見てみると、以下のようになっています。
1-4.mySubProjectサブモジュールのワーキングディレクトリー
削除する「mySubProject」サブモジュールの「ワーキングディレクトリー」は、「スーパープロジェクト」の「ワーキングディレクトリー」内に配置されています。2.サブモジュールの登録の抹消
削除したい「サブモジュール」がチェックアウトされている場合、まずその「サブモジュール」の登録を抹消する必要があります。登録を抹消した「サブモジュール」は、未初期化の状態になります。
2-1.登録の抹消
「mySubProject」サブモジュールの登録を抹消します。「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「サブモジュールの登録を抹消するコマンドの説明」を参考にしてください。
git submodule deinit mySubProject
2-2.コマンドの実行結果
以下のように、「mySubProject」サブモジュールの登録が抹消されます。2-3.サブモジュールの状態
「サブモジュール」の状態を見てみます。以下のように、「mySubProject」サブモジュールに「-」マークが表示されています。
これは、未初期化の状態を表しています。
2-4.configファイルの中身
リポジトリーの設定ファイルである「config」ファイルを見てみます。「mySubProject」サブモジュールの登録を抹消したため、「mySubProject」サブモジュールの設定が削除されています。
2-5.mySubProjectサブモジュールのワーキングディレクトリー
「mySubProject」サブモジュールの「ワーキングディレクトリー」内のファイルが、全て削除されています。「ワーキングディレクトリー」内のファイルは削除されていますが、「ワーキングディレクトリー」そのものは削除されません。
3.サブモジュールのワーキングディレクトリーの削除
「mySubProject」サブモジュールの「ワーキングディレクトリー」を削除します。3-1.ワーキングディレクトリーの削除
「mySubProject」サブモジュールの「ワーキングディレクトリー」を削除します。「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「ワーキングディレクトリーやステージングエリアからファイルを削除するコマンドの説明」を参考にしてください。
git rm mySubProject
3-2.コマンドの実行結果
以下のように、「mySubProject」サブモジュールの「ワーキングディレクトリー」が削除されます。3-3.mySubProjectサブモジュールのワーキングディレクトリー
「mySubProject」サブモジュールの「ワーキングディレクトリー」が、削除されています。3-4.サブモジュールの状態
「サブモジュール」の状態を見てみます。以下のように、「mySubProject」サブモジュールが削除されています。
3-5.gitmodulesファイル
サブモジュールの情報を記述する「.gitmodules」ファイルを見てみます。「mySubProject」サブモジュールの設定が削除されています。
3-6.ワーキングディレクトリーの状態
最後に、「スーパープロジェクト」の「ワーキングディレクトリー」の状態を見てみます。以上で「サブモジュール」の削除は完了です。
必要に応じてコミットしてください。
4.サブモジュールのGitディレクトリーの削除
「サブモジュール」の削除を行っても、「サブモジュール」の「Gitディレクトリー」は削除されません。フォルダー内には、「サブモジュール」のリポジトリーが配置されています。
「サブモジュール」の「Gitディレクトリー」は、削除せずそのまま残しておいても問題ありませんが、必要なら自分で削除してください。
「サブモジュール」の「Gitディレクトリー」の削除は、「Nautilus」などから直接削除します。
上記の例では、「mySubProject」フォルダーを削除すればよいです。