刪除子模組

Version > 1.8

你可以通過呼叫以下命令刪除子模組(例如 the_submodule):

$ git submodule deinit the_submodule
$ git rm the_submodule 
  • git submodule deinit the_submodule 從 .git / config 刪除 the_submodules 的條目。這將從 git submodule updategit submodule syncgit submodule foreach 呼叫中排除 the_submodule 並刪除其本地內容 (源) 。此外,這不會在父儲存庫中顯示為更改。git submodule initgit submodule update 將恢復子模組,同樣在父儲存庫中沒有可提交的更改。

  • git rm the_submodule 將從工作樹中刪除子模組。檔案將與 .gitmodules 檔案 (源)中的子模組條目一樣消失。如果僅執行 git rm the_submodule(之前沒有執行 git submodule deinit the_submodule,則 .git / config 檔案中的子模組的條目將保留。

Version < 1.8

取自這裡

  1. .gitmodules 檔案中刪除相關部分。
  2. 階段 .gitmodules 改變 git add .gitmodules
  3. .git/config 刪除相關部分。
  4. 執行 git rm --cached path_to_submodule(沒有斜槓)。
  5. rm -rf .git/modules/path_to_submodule
  6. 承諾 14
  7. 刪除現在未跟蹤的子模組檔案
  8. rm -rf path_to_submodule