使用GitHub时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况(原因你懂的)。
最重要的是:中文!!!
如果我们希望体验Git飞一般的速度,可以使用国内的Git托管服务——码云(gitee.com)。
总的来说,主要优势就是速度快,免费私有库,支持中文。
开始使用
1.添加ssh key到码云
使用码云和使用GitHub类似,在码云上注册账号并登录后,需要先上传自己的SSH公钥。
关于ssh密钥文件,我们使用
ssh-keygen -t rsa -C "youremail@example.com"
这样一句命令行来创建,其中的email要换成自己的邮箱。如果已经创建过,就会问你是否overwrite:
如果有了,就不用覆盖了,no。
ssh密钥的路径是/Users/用户名/.ssh,在这里面找密钥文件id_rsa.pub。
选择右上角用户头像 -> 菜单“修改资料”,然后选择“SSH公钥”,填写一个便于识别的标题,然后把用户主目录下的.ssh/id_rsa.pub文件的内容粘贴进去:
2.创建码云的应用
我们在码云上创建一个新的项目,选择右上角用户头像 -> 菜单“控制面板”,然后点击“创建项目”,项目名称最好与本地库保持一致:
3.关联本地和码云库
我们在本地库上使用命令git remote add把它和码云的远程库关联:
git remote add origin git@gitee.com:XiaoXiaoYouYou/login.git
点击下载即可知道连接字符串:
之后,就可以正常地用git push和git pull推送了!
如果在使用命令git remote add时报错:
fatal: remote origin already exists.
这说明本地库已经关联了一个名叫origin的远程库,此时,可以先用git remote -v查看远程库信息:
git remote -v
origin git@github.com:wtcapple/login.git (fetch)
origin git@github.com:wtcapple/login.git (push)
可以看到,本地库已经关联了origin的远程库,并且,该远程库指向GitHub。
我们可以删除已有的GitHub远程库:
git remote rm origin
再关联码云的远程库(注意路径中需要填写正确的用户名):
git remote add origin git@gitee.com:XiaoXiaoYouYou/login.git
此时,我们再查看远程库信息:
git remote -v
origin git@gitee.com:XiaoXiaoYouYou/login.git (fetch)
origin git@gitee.com:XiaoXiaoYouYou/login.git (push)
现在可以看到,origin已经被关联到码云的远程库了。通过git push命令就可以把本地库推送到Gitee上。
如何既关联GitHub又关联码云呢?
git本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。
使用多个远程库时,我们要注意,git给远程库起的默认名称是origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。
我们先删除已关联的名为origin的远程库:
git remote add github git@github.com:wtcapple/login.git
注意,远程库的名称叫github,不叫origin了。
现在,我们用git remote -v查看远程库信息,可以看到两个远程库:
git remote -v
github git@github.com:wtcapple/login.git (fetch)
github git@github.com:wtcapple/login.git (push)
origin git@gitee.com:XiaoXiaoYouYou/login.git (fetch)
origin git@gitee.com:XiaoXiaoYouYou/login.git (push)
如果要推送到GitHub,使用命令:
git push github master
如果要推送到码云,使用命令:
git push origin master
这样一来,我们的本地库就可以同时与多个远程库互相同步: