在 Git 中刪除子模組
本教程演示瞭如何在 git 中刪除子模組。
在開發軟體專案時,我們經常會用到我們專案所需的外部框架和庫。這些框架和庫可能是開源的並儲存在 git 倉庫中。
我們可能希望將這些外部庫的原始碼保留在 git 倉庫的專案目錄中。git 的子模組功能允許我們將這些外部源(它們是單獨的 Git 倉庫)作為子目錄保留在我們的專案 Git 倉庫中。
然後我們可能會決定刪除這些 Git 子模組,因為它們可能不再與我們的專案相關。
我們現在將用一個例子來解釋它。
在 Git 中刪除子模組
在處理軟體專案時,我們經常需要使用庫的外部資源。外部庫可能由第三方或不同團隊開發。
可以在單獨的 Git 倉庫中跟蹤此類外部庫。
我們可以使用 Git 的子模組功能,將這樣的外部 Git 倉庫合併為我們專案 Git 倉庫的子目錄。因此,我們可以將另一個倉庫克隆到我們的專案中,並保持每個單獨的提交。
通常,我們可能會替換或刪除此類外部庫。我們可能會覺得我們的專案不再需要這樣一個外部庫。
因此,我們決定從我們的專案 Git 倉庫中刪除外部庫。為此,我們需要刪除外部庫的 Git 子模組。
假設我們的專案 Git 倉庫中有一個子模組 good-ext-lib
。我們現在希望從 Git 倉庫和檔案系統中刪除子模組 good-ext-lib
。
我們需要按如下方式執行 Git 命令來刪除子模組。
$ git submodule deinit -f path/to/good-ext-lib
$ rm -rf .git/modules/path/to/good-ext-lib
$ git rm -f path/to/good-ext-lib
命令 git submodule deninit
取消註冊子模組 good-ext-lib
。它從 git/config
檔案中刪除整個 submodule.$name
部分。此外,它還刪除了子模組的工作樹。
.git
資料夾中帶有 good-ext-lib
子模組路徑的命令 rm -rf
從我們專案的 .git/modules
目錄中刪除子模組目錄。
專案目錄中帶有 good-ext-lib
子模組路徑的命令 git rm
刪除了超級專案(我們的專案)的跟蹤資料。它刪除了 gitlink
條目。此外,它消除了 .gitmodules
檔案中存在的子模組部分並暫存該檔案。
最後,我們需要提交刪除 good-ext-lib
子模組,如下所示。
$ git commit -m "removed submodule good-ext-lib"
因此,現在我們已經從 Git 的專案目錄中刪除了 good-ext-lib
子模組。
因此,我們展示瞭如何在 Git 中刪除子模組。
欲瞭解更多資訊,請訪問 -