这个版本的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) maindeb-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 可以更简单修改默认分支.
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)