github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)
github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)吉祥物很萌有木有!(敲黑板!)。大家都用你为什么不用!!!帮助文档详细而友好;开源项目可以免费;Issue Tracking和Wiki等工具一应俱全,还能跟代码提交注释集成;
闲扯两句Git可能是目前地球上最好用的版本控制系统了(没有之一)。
gitHub对开发者的知名程度也不啰嗦了,稍提两点:
-
最流行的开源代码托管服务(个人认为没有之一),连 Linux Kernel 都在上面;
-
是最受欢迎的Git服务(也没有之一);
-
帮助文档详细而友好;
-
开源项目可以免费;
-
Issue Tracking和Wiki等工具一应俱全,还能跟代码提交注释集成;
-
大家都用你为什么不用!!!
-
吉祥物很萌有木有!(敲黑板!)。
GitHub吉祥物
准备
shadowsocks等,我个人的配置是shadowsocks kcptun,主要是为了速度。
至于science上网,这里不再累赘,有机会可以下次介绍,感兴趣的同学可以参考shadowsocks-go和xtaci的kcptun。
不过最近水表查得紧,自行斟酌。
-
测试环境
这里主要讨论通过ssh通道代理socks的方式。
经本人验证通过的环境有:
-
macOS (Sierra/High Sierra)
-
Windows (10 Version 1703)
-
Linux (Ubuntu 16.04.3 LTS && CentOS 7_1708)
理论上各个环境无版本号限制,方法是通用的。
因目前手头设备限制,所以用macOS环境作演示。
-
开始
-
我们先看看正常情况下使用git clone的效果,不忍直视(以我Fork来的linux仓库为例):
没有使用代理时的效果
2.更改.ssh的config文件。Windows下config文件位置在个人用户目录的.ssh文件夹下(路径一般是C:\User\YourUserName\.ssh,这里把YourUserName换成你自己的用户名);在macOS/Linux下config文件位置在~/.ssh/目录下如果没有.ssh路径和config文件,可以自己创建。
创建和编辑config文件
在config文件中写下:
Host github.com User git ProxyCommand nc -x localhost:1080 %h %p
这里github.com是你clone时需要走代理的Host主机域名或IP地址,User一般都是git(哪怕是我们自己搭建的git托管服务器一般情况下,也是以git作为用户名)。重点来了:ProxyCommand会根据操作系统和你代理配置的不同而不一样,例如Windows下是没有nc命令的。localhost是我本地代理的地址,你可以替换为你自己的代理服务器地址。1080是我本地代理设置监听的端口号,你可以替换为你自己设置的。针对不同操作系统下不同的ProxyCommand写法,git官方也给出了解决方案,在此就不细谈了。
当然如果你需要的话也可以把bitbucket.org或者其他域名一并加上,如下所示:
编辑好的config文件
写完保存,Windows下推荐用Sublime Text编辑,如果你是用的vi/vim,记得切换回命令模式并:wq。
3.开始体验”飞一样的感觉“,打开shadowsocks和kcptun:
测试环境
开始git clone
代理后的git clone速度
由于我写作时的网络环境并不是太好,其实在真实生产环境下速度还可以更快一些。
再提两句:-
关于可视化界面的客户端(GitHub Desktop/SourceTree)
使用GitHub Desktop和SourceTree客户端进行clone、pull、push等一系列的操作,即使通过本文的加速方式也无效果,也许可视化界面的客户端走的是http/https的协议吧,在上述两款可视化界面客户端的配置里也未发现有任何关于using ssh的选项。
-
关于JetBrains
以CLion为例,JetBrains的产品中可以通过设置来提高Version Control功能的速度:
打开Preferences-Version Control-GitHub,勾上Clone git repositories using ssh选项
CLion中的Preferences界面
在Android Studio中也一样(毕竟基于IntelliJ IDEA)
Android Studio中的Preferences界面