git - Git submdule - 改变银行
问题描述
我对 git 中的子模块有疑问:
我有一个带有子模块“A”的存储库“SuperRepo”。子模块“A”指向.gitmodules 中的分支“develop”。如果我在“SuperRepo”中创建一个新分支,假设“fancyFeature”,我有时会将子模块“A”的分支更改为具有相同名称的新分支。情况并非总是如此,但有时。
我可以提交此更改,并且子模块指向分支“fancyFeature”上的提交。但是由于 .gitmodules 仍然指向开发,所以我总是有独立的头脑(至少这是我的解释)。有没有办法在没有分离头的情况下更改子回购的分支?
谢谢你的帮助!
PS:如果我将 .gitmodules 更改为“fancyFeature”,我不会感到头晕目眩。这就是我的结论的来源...
解决方案
git 子模块默认使用分离的 HEAD,并且没有直接支持来改变它。
但是你可以:
将
submodule.XXX.branch
(在 `.gitmodules 中)设置为分支去这个分支的头
git submodule update
默认情况下,此命令暗示
--checkout
。手动创建分支并使用
git submodule update --rebase git submodule update --merge
这将保留您的分支。
submodule.XXX.update
您可以通过设置为rebase
、merge
或来覆盖默认更新方法checkout
。
您可以添加--remote
以获取子模块分支并合并/重新设置/签出此提交。
要创建分支,您可以遍历子模块,例如
git submodule foreach 'git -B feature-branch || :`
推荐阅读
- react-native - react-native Text 组件中的 lineHeight 未按预期工作
- c - 计算平方数的 C 程序 参数分段错误
- php - 在 Laravel 项目中使用 coinbase/coinbase php 库时出现 Guzzlehttp 错误
- python - 介子安装问题
- gnu-findutils - Find 的基于成本的优化器打破了短路评估
- microsoft-graph-api - [MS Graph]:在 MS 图形查询中处理字符串搜索中的特殊字符
- javascript - 外部javascript文件中的jinja2变量
- database - 如何比较 DbSchema 中的两个项目文件
- javascript - 相机应用程序在 Marshmallow API 23 中运行良好,但在 API grater 23 中使用相机时崩溃
- swiftui - SwiftUI fullscreen horizontal swipe with dot indicator