git中submodule子模組的新增 使用和刪除

2022-06-17 06:12:12 字數 973 閱讀 4755

專案中經常使用別人維護的模組,在git中使用子模組的功能能夠大大提高開發效率。

使用子模組後,不必負責子模組的維護,只需要在必要的時候同步更新子模組即可。

新增子模組非常簡單,命令如下:

git submodule add

其中,url為子模組的路徑,path為該子模組儲存的目錄路徑。

執行成功後,git status會看到專案中修改了.gitmodules,並增加了乙個新檔案(為剛剛新增的路徑)

git diff --cached檢視修改內容可以看到增加了子模組,並且新檔案下為子模組的提交hash摘要

git commit提交即完成子模組的新增

1.git submodule init

2.git submodule update

或:1.git submodule update --init --recursive

執行後,子模組目錄下就有了原始碼,再執行相應的makefile即可。

子模組的維護者提交了更新後,使用子模組的專案必須手動更新才能包含最新的提交。

在專案中,進入到子模組目錄下,執行 git pull更新,檢視git log檢視相應提交。

完成後返回到專案目錄,可以看到子模組有待提交的更新,使用git add,提交即可。

有時子模組的專案維護位址發生了變化,或者需要替換子模組,就需要刪除原有的子模組。

刪除子模組較複雜,步驟如下:

rm -rf 子模組目錄 刪除子模組目錄及原始碼

vi .gitmodules 刪除專案目錄下.gitmodules檔案中子模組相關條目

vi .git/config 刪除配置項中子模組相關條目

rm .git/module/* 刪除模組下的子模組目錄,每個子模組對應乙個目錄,注意只刪除對應的子模組目錄即可

執行完成後,再執行新增子模組命令即可,如果仍然報錯,執行如下:

git rm --cached 子模組名稱

完成刪除後,提交到倉庫即可。

git中submodule修改子模組的git位址

1 刪除子模組 1 rm rf 子模組目錄 刪除子模組目錄及原始碼 2 vi gitmodules 刪除專案目錄下.gitmodules檔案中子模組相關條目 3 vi git config 刪除配置項中子模組相關條目 4 rm git module 刪除模組下的子模組目錄,每個子模組對應乙個目錄,注...

git中submodule子模組的新增 使用和刪除

專案中經常使用別人維護的模組,在git中使用子模組的功能能夠大大提高開發效率。使用子模組後,不必負責子模組的維護,只需要在必要的時候同步更新子模組即可。新增子模組非常簡單,命令如下 git submodule add 其中,url為子模組的路徑,path為該子模組儲存的目錄路徑。執行成功後,git ...

git的submodule使用方法

新增子專案 git submodule add當專案git clone之後初始化子專案倉庫 git submodule update init recursive舉個例子,比如我的子模組叫做a core 在使用的時候經常會遇到 a core already exists and is not a v...