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是最快的。