使用GitHub时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况(原因你懂的)。
如果我们希望体验Git飞一般的速度,可以使用国内的Git托管服务——码云(gitee.com)。码云的免费版本也提供私有库功能,只是有5人的成员上限。
使用码云和使用GitHub类似,我们在码云上注册账号并登录后,需要先上传自己的SSH公钥。选择右上角用户头像 -> 菜单“修改资料”,然后选择“SSH公钥”,填写一个便于识别的标题,然后把用户主目录下的.ssh/id_rsa.pub文件的内容粘贴进去:
如果我们已经有了一个本地的git仓库(例如,一个名为learngit的本地库),如何把它关联到码云的远程库上呢?
首先,我们在码云上创建一个新的项目,选择右上角用户头像 -> 菜单“控制面板”,然后点击“创建项目”:
项目名称最好与本地库保持一致:
然后,我们在本地库上使用命令git remote add把它和码云的远程库关联:
$ git add remote origin git@gitee.com:******/learning.git
fatal: pathspec 'remote' did not match any files
这里报错是因为我已经有关联一个了
$ git remote -v
origin https://github.com/******/learngit_1_18.git (fetch)
origin https://github.com/******/learngit_1_18.git (push)
可以看到,本地库已经关联了origin的远程库,并且,该远程库指向GitHub。
我们可以删除已有的GitHub远程库:
$ git remote rm origin
再次关联
$ git remote add origin git@gitee.com:******/learning.git
没错了。。。
$ git remote -v
origin git@gitee.com:******/learning.git (fetch)
origin git@gitee.com:******/learning.git (push)
现在可以看到,origin已经被关联到码云的远程库了。通过git push命令就可以把本地库推送到Gitee上。
有的小伙伴又要问了,一个本地库能不能既关联GitHub,又关联码云呢?
当然可以了。。。要不然就不学了。。。
使用多个远程库时,我们要注意,git给远程库起的默认名称是origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。
仍然以learngit本地库为例,我们先删除已关联的名为origin的远程库,先关联github,在关联gitee:
$ git remote rm origin
$ git remote add github https://github.com/*******/learngit_1_18.git
$ git remote add gitee https://gitee.com/********/learning.git
都没有报错。。。再查看下
$ git remote -v
gitee https://gitee.com/×××××/learning.git (fetch)
gitee https://gitee.com/×××××/learning.git (push)
github https://github.com/××××/learngit_1_18.git (fetch)
github https://github.com/××××××/learngit_1_18.git (push)
推送github,使用:
git push github master
推送gitee,使用:
git push gitee master