详解git submodule HEAD detached 的问题
在使用gitsubmodule的时候,常常会遇到执行完以下操作后发现子仓库的head指针处于游离状态
- gitclonexxxxx.git
- gitsubmoduleupdate--init
然后切换到子仓库,查看当前分支的状态如下
原因是之前同事在子仓库中修改并提交后,没有在父仓库中更新子仓库的最新提交记录
正常情况下,修改子仓库的内容并在子仓库提交后会在父仓库执行gitdiff会有如下输出
解决gitsubmoduleheaddetached的方法:
重新建立submodule,加入时使用-b参数,使得母项目追踪子项目的指定branch(否则默认不追踪):
gitsubmoduleadd-b[ ] gitsubmoduleupdate--remote
简单的一行命令递归修复所有子项目的detachedhead(其中默认都追踪子项目的masterbranch):
gitsubmoduleforeach-q--recursive'gitcheckout$(gitconfig-f$toplevel/.gitmodulessubmodule.$name.branch||echomaster)'
参考
WhyismyGitSubmoduleHEADdetachedfrommaster?
Gitsubmodulesbestpractices
到此这篇关于详解gitsubmoduleHEADdetached的问题的文章就介绍到这了,更多相关gitsubmoduleHEADdetached内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短