Github终极解决方案
本文分析了之前的一系列的解决方案,虽然题目为终极解决方案,但是有针对性的配置更加有效率。对于ssh
访问github.com
而言,由于是直接访问github.com
所以它的内容是最新的,且没有任何问题,而镜像有可能不完整。同时,对于yay
,
paru
而言其axel
的多线程下载功能也不是仅仅实现访问github.com
所能比的。对于mason
和treesitter
按本节方法更好一些,但是之前的配置也是可以接受的。对于那些调用git
但是还没有找到解决方案的程序,全局化取代github.com
将是一个有效的方法。
我平时使用ArchLinux
作为办公的主力,平时用的最多的就是vim
和nvim
,
为了更好的使用他们工作配置了若干插件,由于这些插件都发布于Github
,且像Plug
和Packer
这样的插件管理器都从Github
上安装和更新插件。但是Github
的访问并不稳定,这导致了升级插件和安装的时候出现了问题。为了解决这一问题,我配置了ssh
的方法,具体参考
这个方法有效的解决了插件的安装和升级问题,但是配置文件都需要添加上git@github.com
,
但是后面我发现偶尔这个方法也有卡顿的时候。我们还面临另一个问题,就是使用yay
或paru
安装软件时无法从Github
下载软件的问题,这个问题的解决参考我的另一篇文章
解决ArchLinux使用yay或paru安装软件时从Github下载慢或不可下载的问题
这个解决问题的思路很好,使用多线程工具axel
来加速下载,但是它的配置比较麻烦,而且还需要安装一个自己的脚本,对于一个初学Linux
的人来说难度太大,对于一个使用Linux
作为办公主力的人来讲每次配置都很麻烦,当然配置一次基本上不用再花太多时间了。同时,脚本的作用也是将https://github.com
替换成了镜像网站https://hub.yzuu.cf
,
当时是解决了问题,但是有一天如查镜像网站不能用了,那必须再修改脚本,这个工作量也是比较大的,显然也不是最佳方案。
第三个遇到的问题是mason
和treesitter
来管理lsp
和语法高亮的时候,它们自行下载软件也是通过https://github.com
,
这导致启动neovim
后不能快速安装语言高亮模块等,而解决这个问题的思路我也是找到mason
和treesitter
的配置文件,然后修改https://github.com
为https://hub.yzuu.cf
,
这个上一段描述的麻烦一样,如果有一天镜像站失效,那也必须去修改对应的文件。
综上所述,配置vim
和nvim
的插件,需追加git@github.com
,
对于yay
和paru
及mason
和treesitter
需要时关注镜像网站是否可能。虽然整体上解决了问题,但是仍然不是最优的。一直以来我都想将执行git clone https://github.com/XXX
时中的github.com
自动取代为可用的镜像网站,这样子nvim
,vim
的配置文件可以与原作者推荐的一致,且yay
,
paru
,
mason
和treesitter
以及以后其他软件可能用到github
时统统都可以解决,今天
终于解决了这个问题,那就是修改全局的git
配置文件~/.gitconfig
,
这也是写这篇文章的主要目的,记录下这个终极解决方案!!
1 | [user] |
注意,在配置文件中使用分号;
来注释掉了可用的镜像,如果一个镜像挂了可以取消注释启用另一个就好。这主要受到了文章
各种各样的镜像加速
的启发。同时文章也指出了gitclone.com
的特殊性,按官方的说法下载的人越多速度也越快,这点经过测试确实gitclone.com
是最快的。