我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

在阅读本文之前,苏南大叔已经在以前的文章中描述过了,如何拉取自己托管在github上面的代码。具体见文末链接。今天苏南大叔描述的是,利用sourcetree快速拉取代码,侧重于解决github加速的问题。

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - sourcetree-github-speedup
如何使用 sourcetree 快速拉取 github 源码?(图11-1)

当拉取的是非常小型的代码的话,那么可能不需要阅读本篇文章,如果你要拉取的代码非常巨大,那么看一下本文,也许有不错的收获。

templates not found

mac系统下,使用sourcetree拉取github代码的时候,会有下图类似的提示。

warning:templates not found /usr/local/git/share/git-core/templates

而且速度非常慢,进度条一直卡在接近100%的地方,实际本地什么文件也没有。

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - 000
如何使用 sourcetree 快速拉取 github 源码?(图11-2)

这个warning实际上没有什么用,但是看着也是蛮奇怪的。实际上,就是mac系统的权限问题,解决方案就是:手动建立对应的路径,并赋予权限即可。

sudo mkdir -p /usr/local/git/share/git-core/templates
sudo chmod -R 755 /usr/local/git/share/git-core/templates

然后再拉取对应git,就不会有这个warning提示了,但是依然很慢。

修改host

修改host是很多问题的解决方案,github拉取慢的问题,也是其中一个解决方案。可以从https://tool.chinaz.com/dns 这里获得你的ip地址方案,选个ttl值小的,写入到本地的hosts文件里面即可。关键词是:github.global.ssl.fastly.net

苏南大叔选择了下图这个ip,当然你也可以选择其他你喜欢的ip。设置好了之后,不出意外的话,速度就会变得很快了。

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - 004
如何使用 sourcetree 快速拉取 github 源码?(图11-3)

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - 003
如何使用 sourcetree 快速拉取 github 源码?(图11-4)

当然,如果还是很慢的话,你也许可以考虑科学上网,或者去国内很流行的码云上面(https://gitee.com/)去看看,是不是有国内的镜像在上面。

GIT LFS

您也许会看到如下字样的提示框:

Sourcetree can fix this (recommended) by running 'git lfs install' now, is that OK?”

这个组件是专门用于在git仓库中,处理大的文件的。是英文Large File Storage的简写,可以有效的减小本地仓库的大小,但是这个需要服务器端支持。只要你同意,sourcetree可以自动下载相关的LFS插件,并正确安装。

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - 006
如何使用 sourcetree 快速拉取 github 源码?(图11-5)

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - 007
如何使用 sourcetree 快速拉取 github 源码?(图11-6)

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - 008
如何使用 sourcetree 快速拉取 github 源码?(图11-7)

git工作流

因为当前项目是fork的别人的项目,所以,关于里面的master分支,并不是你说了算的。所以,使用sourcetree的工作流功能的时候,可能会看到下面的提示。解决方案就是:使用别人项目里面的分支系统设定。

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - 009
如何使用 sourcetree 快速拉取 github 源码?(图11-8)

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - 010
如何使用 sourcetree 快速拉取 github 源码?(图11-9)

设置upstream

如果使用sourcetree拉取的是自己名下的代码,而自己名下的代码,又是从别人那边fork的。则可以利用如下命令设置了他人的代码地址。

别名的名字可以任意命名,常见的约定是使用origin作为远程克隆的仓库的别名(这个别名会在运行git clone自动创建),upstream(上游)作为正式仓库的别名。

git remote -v #用来查看本地的相关设置的
git remote add upstream <他人的原始git地址>

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - 021
如何使用 sourcetree 快速拉取 github 源码?(图11-10)

苏南大叔:如何使用 sourcetree 快速拉取 github 源码? - 022
如何使用 sourcetree 快速拉取 github 源码?(图11-11)

用命令行设置也行,或者在souretree的界面上设置也行。位置在左下角的位置。设置好之后,就可以从原始的地址拉取代码到本机了。还可以进行对比,升级自己在github上面的检出代码。
upstream是最原始的被fork的代码,而origin则是自己forkgithub上面的代码。概念稍稍有点区别。

相关链接

结束语

这里仅仅是在github上面做个代码贡献者的初始装备设定,苏南大叔将会以piwik官方代码为例,继续演示作为代码贡献者的相关操作。

欢迎继续关注github相关操作技巧文章。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   github    sourcetree