ubuntu在安装一个仓库时一直连不上,用的也是国内的服务器是我要添加的仓库不存在了吗还是要外网才可以

ubuntu在安装一个仓库时一直连不上,用的也是国内的服务器是我要添加的仓库不存在了吗还是要外网才可以,第1张

这个版本的ubuntu(bionic  即 18.04)并没有这个ppa Repository(支持)

只有xenial和Trusty两个版本有这个ppa Repository

如果你需要,可以强制修改,但容易存在冲突和兼容性问题(毕竟这个ppa package最高支持的ubuntu版本是xenial即16.04),修改方法:

sudo vi /etc/apt/sources.list 修改对应的ppa source list

deb http://ppa.launchpad.net/phulin/panda/ubuntu bionic(改为xenial) main 

deb-src http://ppa.launchpad.net/phulin/panda/ubuntu bionic(改为xenial) main

在这篇文章中,我们来讲解一下 git submodule 的实战用法,包括:

假设我们有主仓库 main-module.git ,远程地址 https://github.com/bitmingw/main-module.git ,目录结构

以及仓库 sub-module.git ,远程地址 https://github.com/bitmingw/sub-module.git ,目录结构

如果想要将仓库 sub-module.git 注册成为主仓库 main-module.git 的一个子模块,可以使用如下指令:

git 会自动从远程服务器 clone sub-module.git ,之后 main-module.git 的目录会变成这个样子

由于添加 git 子模块的操作本身也是一个提交,因此它仅仅对 main-module.git 的当前分支有效,另外的分支不会感知到这一变化。

大多数时候, git 子模块 不是凭空创建的,而是从项目中已有的文件拆分出来的。从已有的文件创建 git 子模块 需要做三件事:首先为拆分出来的文件创建新的 git 仓库 ,然后从主仓库中将独立出去的文件移除,最后再注册 git 子模块

例如,假设 main-module.git 的目录结构如下所示

它有 v1.0 和 v2.0 两个分支,在 v2.0 分支中,我们想让 sub-module 文件夹变成 sub-module.git 子模块。

,为 sub-module 创建一个单独的 git 仓库:

,从 main-module.git 中删除 sub-module 文件夹:

,将 sub-module.git 注册为 main-module.git 的子模块

如果你是主仓库的开发者,你可能不想使用最新版本的子模块,而是使用主仓库中指定版本的子模块,此时可以使用下面的指令:

在使用该指令前,主仓库和子模块的 git status 分别是:

使用了 git submodule update 之后,两个仓库的 git status 信息变成了这个样子:

这样,主仓库的开发者就可以从一个干净的空间开始工作了。

还记得我们是从 v2.0 分支引入子模块的么?假如现在要查看 v1.0 分支,会发生什么呢?

还记得我们是从 v2.0 分支引入子模块的么?假如现在要查看 v1.0 分支,会发生什么呢?

难道有了子模块之后我们就回不去了??情况没有那么糟糕,我们可以通过 git checkout -f v1.0 强行回去。

不过这个时候要注意,由于 sub-module 没有被移除,因此切换到 v1.0 分支 以后,你看到的 sub-module 文件夹依然是个子模块。也就是说,子模块穿越了时空来到了 v1.0 分支 …… 嗯这个行为似乎不是我们期望的那个样子。

如果你真的想回到 v1.0 分支 的非子模块的 sub-module ,那你不得不在切换分支前把这个子模块卸载掉:

如果你想从 v1.0 分支 回到 v2.0 ,也会遇到一些问题。

经过了 git checkout -f v1.0 和 git checkout v2.0 之后,子模块的文件竟然被 git 删掉了。而且这个时候无论是 git submodule update 还是 git checkout -- sub-module 都不好使了。到底应该怎么办呢?

答案是在子模块内部使用 git reset 。

从这一部分的演示可以看出, git submodule 的设计对从已有文件拆分出来的子模块来说是非常糟糕的。或许这会成为大家尽量避免使用 git 子模块 的原因之一吧。

Github默认分支由master变更为main.

受 https://tools.ietf.org/id/draft-knodel-terminology-00.html 影响, github 于 2020年10月1日后, 修改默认分支为 main, 详见 The default branch for newly-created repositories is now main .

浏览器打开 Github 仓库, 点击 Settings ->Branches 修改默认分支为 main.

使用 github-renaming 可以更简单修改默认分支.


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/493476.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-14
下一篇2023-06-14

发表评论

登录后才能评论

评论列表(0条)

    保存