快捷搜索:  汽车  科技

github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)

github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)吉祥物很萌有木有!(敲黑板!)。大家都用你为什么不用!!!帮助文档详细而友好;开源项目可以免费;Issue Tracking和Wiki等工具一应俱全,还能跟代码提交注释集成;

闲扯两句

Git可能是目前地球上最好用的版本控制系统了(没有之一)。

gitHub对开发者的知名程度也不啰嗦了,稍提两点:

  • 最流行的开源代码托管服务(个人认为没有之一),连 Linux Kernel 都在上面;

  • 是最受欢迎的Git服务(也没有之一)

  • 帮助文档详细而友好;

  • 开源项目可以免费;

  • Issue Tracking和Wiki等工具一应俱全,还能跟代码提交注释集成;

  • 大家都用你为什么不用!!!

  • 吉祥物很萌有木有!(敲黑板!)。

github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)(1)

GitHub吉祥物

github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)(2)

  • 准备

  • 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环境作演示。

    • 开始

    1. 我们先看看正常情况下使用git clone的效果,不忍直视(以我Fork来的linux仓库为例):

    github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)(3)

    没有使用代理时的效果


    2.更改.ssh的config文件。Windows下config文件位置在个人用户目录的.ssh文件夹下(路径一般是C:\User\YourUserName\.ssh,这里把YourUserName换成你自己的用户名);在macOS/Linux下config文件位置在~/.ssh/目录下如果没有.ssh路径和config文件,可以自己创建。

    github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)(4)

    创建和编辑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或者其他域名一并加上,如下所示:

    github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)(5)

    编辑好的config文件

    写完保存,Windows下推荐用Sublime Text编辑,如果你是用的vi/vim,记得切换回命令模式并:wq。

    3.开始体验”飞一样的感觉“,打开shadowsocks和kcptun:

    github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)(6)

    测试环境

    开始git clone

    github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)(7)

    代理后的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选项

    github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)(8)

    CLion中的Preferences界面

    在Android Studio中也一样(毕竟基于IntelliJ IDEA)

    github可以免费申请仓库吗(使用GitHub和BitBucket的正确姿势)(9)

    Android Studio中的Preferences界面

    猜您喜欢: