概述
Git Submodule 嵌套子模块
摘要:本文介绍了包含有git Submodule的常用操作,包含创建Submodule,拉取,提交等常用开发操作.
1. 在仓库中增加Submodule
在.git的同级目录下执行:
git submodule add <url>
注意:要确保协同开发主仓库的所有人员,都可以访问<url>;
在仓库中增加完毕submodule后,要执行提交(commit)和推送(push)操作;
2. 查看子模块状态
先设置显示子模块的简明信息:
git config status.submodulesummary 1
查看状态,包含子模块的信息:
git status
查看子项目的日志记录:
git log -p --submodule
查看空间中某一submodule状态:
git diff --cached <submodule_package_file_name>
查看空间中全部submodule状态:
git diff --cached --submodule
3. 克隆含有Submodule的项目
- 方法一:
克隆项目,默认带有空的Submodule文件夹:
git clone <url> [<rename>]
初始化Submodule:
git submodule init
更新Submodule中的内容至当前版本:
git submodule update
- 方法二:
克隆项目的同时,检出所有嵌套的子模块;
git clone --recurse-submodules <url> [<rename>]
4. 在包含子模块的项目上工作
4.1 从子模块的远端拉取上游修改
- 方法一:
远程抓取+合并:
git fetch <url> [<branch-name>:<branch-name>]
git merge <branch_name>
- 方法二:
将远程git内容同步至本地的一个游离分支上;
git submodule update --remote [<submodule-name>]
需要建立分支temp继承游离分支HEAD:
git branch temp HEAD
在master分支中合并temp分支:
git checkout master
git merge temp
- 方法三:
将远程内容合并到本地submodule所处的分支上:
git submodule update --remote --merge
- 方法四:
将本地分支变基到远程submodule的最新状态:
git submodule update --remote --rebase
4.2 从项目远端拉取上游更改
git pull <remote-name> --recurse-submodules
如果 .gitmodules 文件中记录的子模块的 URL 发生了改变:
# 将新的 URL 复制到本地配置中
git submodule sync --recursive
# 从新 URL 更新子模块
git submodule update --init --recursive
最后
以上就是害羞小懒猪为你收集整理的Git Submodule 嵌套子模块Git Submodule 嵌套子模块的全部内容,希望文章能够帮你解决Git Submodule 嵌套子模块Git Submodule 嵌套子模块所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复