1. 程式人生 > >Git submodule 如何刪除一個 submodule

Git submodule 如何刪除一個 submodule

這個問題困擾了我很久,經常在下載一些專案使用 Git Submodule 功能的時候遇到 某個 sub module 源不存在的問題,本來是可以在 Github 上面找到類似的源,但卻沒法刪掉當前這個有問題的 Submodule。

用 git submodule –help 看幫助裡面也沒有類似的說明…

也曾試過強行修改 .gitmodule 和 .git/config 兩個檔案,並找遍了 .git/ 目錄裡面的檔案並確認沒有那個 module 的資訊,但還是不行,提示說 那個 module 還在…

今天終於在 StackOverflow 上面找到了原因… 原來是需要刪除快取才可以

例如一個 Rails 外掛的submodule 目錄是 vendor/plugins/will_paginate

  1. 從 .gitmodule 檔案裡面刪掉關於 vendor/plugins/will_paginate 的配置資訊
  2. git rm –cached vendor/plugins/will_paginate 
  3. 現在可以重新添加了
注意,目錄後面不要帶 /