玩转GIT系列之【git submodule update出错提示子模组未对路径注册】
今天在github上找到了一个很有意思的项目,叫做listen1【https://github.com/listen1】,它是一个开源的项目,可以从各大音乐网站自动化搜索歌曲、避免某个特定的网站因为版权问题而无法听歌,超级实用(这里先给作者点个赞,打个小广告)。下面摘自作者的原文:
当我发现找个想听的歌因为版权听不了,需要打开好几个网站开始搜索,来回切换让我抓狂的时候,我知道是时候该做点什么了。
妈妈再也不用担心我找不到我想听的歌了。这里包含了网易云音乐,虾米,QQ音乐, 酷狗音乐,酷我音乐的曲库,够全够大了吧。
搜歌,听歌,就用 Listen1。
于是尝试将它的源码clone下来学习学习。可是clone下来之后,看到一个提示信息,说:
项目中包含了listen1_chrome_extension的引用,在checkout后需要把引用库初始化
git submodule update --init --recursive
于是,执行。
可是,出错:
leon@Ubuntu:~/studytest/listen1_desktop$ git submodule update --init --recursive
子模组 'app/listen1_chrome_extension' (git@github.com:listen1/listen1_chrome_extension.git) 未对路径 'app/listen1_chrome_extension' 注册
正克隆到 'app/listen1_chrome_extension'...
The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
fatal: 无法克隆 'git@github.com:listen1/listen1_chrome_extension.git' 到子模组路径 'app/listen1_chrome_extension'
于是开始百度“git submodule”相关的各类博文,却始终没有发现一个对路的解决办法,大多数人都是拷贝、复制、黏贴、转发别人的博文,没有什么参考意义。
终于,历经千辛万苦(略有夸张哈哈),在一位大神的博客里找到了成功的解决方案:
因为我使用的git url格式与原项目下的.gitmodule文件中的url格式不对,它写的是git格式,而我使用的是https的格式。
按照以下方法更换一下即可:
vi .gitmodules
将下面的原文:
[submodule "app/listen1_chrome_extension"]path = app/listen1_chrome_extensionurl = git@github.com:listen1/listen1_chrome_extension.git
修改成:
[submodule "app/listen1_chrome_extension"]path = app/listen1_chrome_extensionurl = https://github.com/listen1/listen1_chrome_extension.git
修改完后,再次执行:
leon@Ubuntu:~/studytest/listen1_desktop$ git submodule update --init --recursive
正克隆到 'app/listen1_chrome_extension'...
Permission denied (publickey).
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
fatal: 无法克隆 'git@github.com:listen1/listen1_chrome_extension.git' 到子模组路径 'app/listen1_chrome_extension'
肿么还是出错!!!!????
淡定淡定,再来分析。原来是子模块的url没有同步修改,于是执行下面的命令:
leon@Ubuntu:~/studytest/listen1_desktop$ git submodule sync
为 'app/listen1_chrome_extension' 同步子模组 url
最后再来:
leon@Ubuntu:~/studytest/listen1_desktop$ git submodule update --init --recursive
正克隆到 'app/listen1_chrome_extension'...
remote: Enumerating objects: 45, done.
remote: Counting objects: 100% (45/45), done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 899 (delta 20), reused 24 (delta 11), pack-reused 854
接收对象中: 100% (899/899), 1.00 MiB | 322.00 KiB/s, 完成.
处理 delta 中: 100% (587/587), 完成.
检查连接... 完成。
子模组路径 'app/listen1_chrome_extension':检出 '0af87e6b028a1ac2f544b74aca1824b2cef66880'
终于成功了!!!
玩转GIT系列之【git submodule update出错提示子模组未对路径注册】相关推荐
- Git系列:git push -u origin master命令理解
Git系列:git push -u origin master命令理解 git push -u origin master git push -u origin master 相当于 git bran ...
- Git系列之git log高级命令
原文地址 使用任何版本控制工具的目的都在于记录你代码的变化.这可以给予你查看项目历史的能力,去发现谁做出了贡献,弄清楚何时产生了bug,回滚到错误的修改.但是,如果你无法定位,获取这些历史记录将变得毫 ...
- 【git系列】git命令之撤销回退篇
撤销工作区修改 工作区修改代码,并未存入暂存区. 适用场景:工作区对某段逻辑代码进行优化,突然发现存在一定的问题,性能不一定比之前提交的代码优秀,放弃本次对文件的修改. #撤销指定文件 git che ...
- Git系列(五):Git Flow
Git系列目录 Git系列(一):Git安装后配置用户名.邮箱 Git系列(二):Git创建本地仓库及对文件进行操作 Git系列(三):Git版本管理 Git系列(四):本地仓库关联远程仓库(将本地仓 ...
- 玩转GIT系列之【如何放弃本地/服务器端所做的修改】
今天遇到一个问题,就是在git工程下修改了一些代码,结果发现搞错了,需要撤销掉所有改动的内容,还原到之前的初始版本,换言之就是放弃自己在本地所做的修改.该怎么做呢?要分以下几种情况来区别对待: 一.尚 ...
- PX4环境git submodule update --init --recursive失败的解决办法
最近开始搭建PX4环境,搭建是需要从github下载工程,然后使用语句git submodule update --init --recursive更新工程子模块,但往往由于网络原因这一步需要很久,甚 ...
- 【git新建分支拉取分支】git submodule update --init --recursive
拉取分支 git submodule update --init --recursive 新建分支 切到当前分支 git checkout 当前分支 从当前分支创建新的分支 git checkout ...
- git下载子模块命令git clone --recursive和git submodule update --init
目录 方法一:git clone --recursive 方法二:git submodule update --init 有时github上的工程可能会包含一些子模块,例如 这时候如果你只是用下面的命 ...
- git-git submodule update报错fatal:不是一个git仓库
文章目录 git submodule update报错fatal:不是一个git仓库 git init 如何github托管代码? git submodule update报错fatal:不是一个gi ...
最新文章
- 剑指offer:面试题19. 正则表达式匹配
- 京东智能内容创作算法的演进与实践:基于关键词自动生成摘要
- mysql索引有哪些_MySQL索引是个什么东西
- c++字符串拼接_Python零基础入门(三):字符串进阶
- 九项重要的职业规划提示
- 移动负载均衡技术(MBL)
- 去除网页FLASH单击并激活此控件解决办法
- C# webbrowser 代理
- 10.1-10.12-广州软件所-实习工作日记
- 踩坑合集(1)——虚拟机桥接模式下的连网问题
- C++关键字(static/register/atuo/extern/volatile/const)释疑
- 【个人网站】零基础个人网站搭建完整教程(附免费源码)
- 把鼠标指针换成自定义图片 傻瓜教程
- 浅谈Web大数据可视化平台开发流程
- 仿真软件测试基尔霍夫定律,基尔霍夫定律的仿真验证.ppt
- HTM页面监听Crtl + C 事件
- 计算机里的MAC,怎么在mac苹果电脑中查看电脑开机运行的时长
- void指针(void *)是什么?如何使用它
- P44 单行子查询案例分析
- DevExpress 控件使用之BarManager
热门文章
- oracle alter_log,在线查看alter.log文件内容
- yolov3 python_Python 3 Keras YOLO v3解析与实现
- Jmeter中使用循环如何保证数据不重复
- 【转载】TCP和TCP/IP的区别
- ImportError: No module named 'commands'
- 04. Web大前端时代之:HTML5+CSS3入门系列~HTML5 表单
- lightoj 1224
- Thinkpad X240使用U盘安装Win7系统
- Oracle SQL Access Advisor 说明
- 女人 这20种男人你永远不必等