使用Git下载Github资源的有效方法
2023年10月11日星期三多云北京市北京师范大学,
在升级了办公室的电脑上的ArchLinux
后,发现又有一大批gnome
插件失效了!
虽然Gnome3
很好用,但是每次大版本升级都会导致好多插件失效,这是唯一一个体验不好的地方,如果正忙着处理一些工作,但是电脑的插件又出了问题,这显然很让人恼火!如果不升级,在以后的使用中可能有的软件会有依懒问题,所以还是保持软件处于最新的状态才对,经过考虑暂时在办公室的电脑上安装了cinnamon
桌面环境,同时原来的Mac Big Sur
主题在其上面也可以很好的工作,由于cinnamon
不依懒插件,可以单独配置,同时基于Gnome3
代码开发而来,所以有必要一试,尝试的结果也是很满意。
在安装好新的桌面环境之后,面对的首要问题就是测试一下我的neovim
和nvim
是否还可以正常升级插件,而之前的时候按照网上的教程测试成功将https://github.com
修改成git@github.com
之后能够正常升级,由于时间长了忘记了当时的设置,而新电脑再使用这个方法即不能升级插件也不能用这个方法下载github
上的其他资源,于是今天下午几乎一下午都在研究这个事情。好在最后得到了答案。
由于网络的原因,我们访问https://github.com
并不稳定,且多数情况下是不能使用的。通过torbrowser
诚然可以访问该网站,但是速度太慢,但是我们仔细研究Github
发现这样一个规律,如果你不登录自己的Github
账号,那即使你找到了Github
上的资源,也只有两个下载方案,如下图
这两个可以使用的下载方案是:HTTPS
和Github CLi
,
第一个方案肯定是行不通的,第二个方案对于需要自动更新的neovim
插件来讲也是不可行的。但是当我们登录自己的Github
帐号后,却可以看到多了一个SSH
下载方式,如下图
这里需要注意了,之前配置的时候使用邮箱和密码配置了Git
登录的方式,但是好像现在不好用了,这可能与Github
的规则有关也可能与网络有关。而我自己在配置SSH
的时候,起的名字却不是git@github.com
,
这样很多仓库就无法直接确认我是一名登录了Github
的用户,
于是解决方法是:
在~/.ssh/config
中配置一个名字为git@github.com
的名字,其SSH
公钥是自己在Github
上帐户部署好的公钥,也可以是单独的一个帐户配置好的公钥,我的config
文件内容为
1
2
3
4
5
6
7
8
9
10Host github_fengzhenhua-vip
User git
HostName github.com
preferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519_1
Host github.com
User git
HostName github.com
preferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519_1
比如我们配置Neovim
插件 vimtex
,如下填写文件
1
use {'git@github.com:lervag/vimtex'}
当使用PackerSync
同步时,安装或更新插件都会使用默认的下载链接
git@github.com
下载插件,同时也会使用名字
git@github.com
来认证,而我们又是 Github
的用户,且配置了这个名字的 SSH
公钥,于是很自然的就认证了
Github
用户的身份,于是可以快速的更新插件了。
我们还有第二种方案,就是使用国内镜像,比如说将https://github.com
换成 https://hub.yzuu.cf
,
同样可以完成插件的更新,但是问题在于国内镜像有可能会被封,遇到这种情况就需要再去寻找可用的镜像,这是一个麻烦的问题。同时镜像毕竟不能保证与原始仓库的同步,这就导致能更新,但不一定是最新的。所以这个有效的方法就是使用本文介绍的配置git@github.com
命令的SSH
,获得SSH
链接后,同步更新或下载Github
仓库中的文件。