寫在前面, 作為一個前端我是不喜歡使用 submodule的, 我更喜歡 npm 包的管理方式。
首次添加子模塊
git submodule add -b <branch> <remote> <path>
不指定分支就不傳 -b <branch>
-
<branch>
分支名 -
<remote>
倉庫地址 -
<path>
子模塊路徑, 也就是你的文件下載路徑
示例: git submodule add -b stable https://github.com/example/submodule_repository.git submodules/my-submodule
已經(jīng)添加過了子模塊
可以在 .gitignore 文件里面添加字段來制定對應的分支, 例如下面。
[submodule "src/uni_modules/hex-http"]
path = src/uni_modules/hex-http
url = https://mygitlab.xxxx.net/hex-mobile-app/hex-modules/hex-http.git
branch = release/prod_4.1.5
這種更改一般在項目中不會直接生效,我的嘗試是將修改提交到遠程倉庫,在新的文件夾拉取一份父倉庫代碼,然后執(zhí)行 git submodule init
git submodule update
執(zhí)行完成之后就會出現(xiàn)下面的日志.。
自動切換到了你指定的分支。
常用命令
安裝子模塊
git submodule init
git submodule update
或者
git submodule update --init --recursive
刪除子模塊(不常用)
是的,你可以使用以下命令直接從 Git 倉庫中刪除子模塊:
git submodule deinit -f -- submodule_path
git rm -f submodule_path
rm -rf .git/modules/submodule_path
這三個命令的作用是:
-
git submodule deinit -f -- submodule_path
: 該命令會取消子模塊的初始化。這將刪除.git/config
文件中的子模塊配置。請注意,這不會刪除子模塊文件夾或.git/modules
中的相關(guān)信息。 -
git rm -f submodule_path
: 該命令會從暫存區(qū)和工作目錄中移除子模塊文件夾。使用-f
參數(shù)可以強制刪除,即使工作目錄中的子模塊已經(jīng)被修改。 -
rm -rf .git/modules/submodule_path
: 該命令會刪除.git/modules
目錄中子模塊的相關(guān)信息。文章來源:http://www.zghlxwxcb.cn/news/detail-839130.html
請確保在執(zhí)行這些命令之前備份重要的數(shù)據(jù),因為它們會直接影響你的倉庫結(jié)構(gòu)。文章來源地址http://www.zghlxwxcb.cn/news/detail-839130.html
到了這里,關(guān)于git 使用 submodule 如何指定分支的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!