写在前面, 作为一个前端我是不喜欢使用 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
已经添加过了子模块
可以在 .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
这种更改一般在项目中不会直接生效,我的尝试是将修改提交到远程仓库,在新的文件夹拉取一份父仓库代码,然后执行 git submodule init
git submodule update
执行完成之后就会出现下面的日志.。
自动切换到了你指定的分支。
常用命令
安装子模块
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
中的相关信息。 -
git rm -f submodule_path
: 该命令会从暂存区和工作目录中移除子模块文件夹。使用-f
参数可以强制删除,即使工作目录中的子模块已经被修改。 -
rm -rf .git/modules/submodule_path
: 该命令会删除.git/modules
目录中子模块的相关信息。文章来源:https://www.toymoban.com/news/detail-839130.html
请确保在执行这些命令之前备份重要的数据,因为它们会直接影响你的仓库结构。文章来源地址https://www.toymoban.com/news/detail-839130.html
到了这里,关于git 使用 submodule 如何指定分支的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!