GitHub 是一个国外网站,使用 GitHub 时,国内用户常常遇到的一个恼人的问题就是访问速度过慢,有时候甚至会出现无法连接的情况。
如果我们想要体验 Git 飞一般的速度,其实可以使用我们国内的 Git 托管服务:码云。
那么,这是否意味着我们要放弃 GitHub 呢?不是的,GitHub 和码云并不是一种非此即彼的选择,立足于国内,积极融入到国际是我们每一位开发者应有的格局。
GitHub 上汇集了全球各地的优秀人才,可以学习最新的知识,了解最前沿的技术;而码云上有百万级优秀的本土开发者,他们的开源项目不仅解决了行业问题,也给自己职业生涯增光添彩,更帮助了许多国内正在接触开源技术的新人。
如何使用码云
使用码云和使用 GitHub 类似,我们在码云上注册账号并登录后,需要先上传自己的 SSH 公钥。选择右上角用户头像 -> 菜单“设置”,然后选择“SSH公钥”,填写一个便于识别的标题,然后把用户主目录下的 .ssh/id_rsa.pub
文件的内容粘贴进去,点击确定即可。
如何关联码云远程库
假如我们当前有一个本地 git 仓库 md
,并且该仓库已经关联了 GitHub 远程库 doocs/md
。
$ git remote -vorigin https://github.com/doocs/md.git (fetch)origin https://github.com/doocs/md.git (push)
我们接下来就让一个本地库既关联 GitHub,又关联码云。
git 本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。
使用多个远程库时,我们要注意,git 给远程库起的默认名称是 origin
,如上所示。如果有多个远程库,我们需要用不同的名称来标识不同的远程库。
以本地库md
为例,我们先删除已关联的 origin
远程库。
$ git remote rm origin
然后,先关联 GitHub 的远程库,此时命名为 github
。
$ git remote add github git@github.com:doocs/md.git
接着,我们再关联码云的远程库,命名为 gitee
。
$ git remote add gitee git@gitee.com:Doocs/md.git
现在,我们使用 git remote -v
查看远程库信息,可以看到 gitee/github 两个远程库。
$ git remote -vgitee git@gitee.com:Doocs/md.git (fetch)gitee git@gitee.com:Doocs/md.git (push)github git@github.com:doocs/md.git (fetch)github git@github.com:doocs/md.git (push)
如何同步推送到 GitHub/码云
我们在本地库执行 commit 提交完变更后,如果要推送到 GitHub,使用命令:
$ git push github master
如果要推送到码云,可以使用命令:
$ git push gitee master
这样一来,我们的本地库就可以同时与多个远程库进行同步了。
实际上,你只需要多敲一行命令就搞定了。
效果如何?
目前,对于大多数的项目,我基本上是同时同步到 GitHub/码云。
GitHub 项目
Gitee 项目
对于 Page 服务,用码云是真的爽,速度飞快。比如,我在 md
项目中同时开启了 GitHub Page/Gitee Page 服务,地址分别是:
•GitHub Page: https://doocs.github.io/md
•Gitee Page: https://doocs.gitee.io/md
对于国内用户,推荐访问 Gitee Page,速度更快,体验也更好。