如果在使用命令 git remote add 时报错:
git remote add origin git@gitee.com:imnoob/runoob-test.git fatal: remote origin already exists.
这说明本地库已经关联了一个名叫 origin 的远程库,此时,可以先用 git remote -v 查看远程库信息:
git remote -v origin git@github.com:tianqixin/runoob.git (fetch) origin git@github.com:tianqixin/runoob.git (push)
可以看到,本地库已经关联了 origin 的远程库,并且,该远程库指向 GitHub。
我们可以删除已有的 GitHub 远程库:
git remote rm origin
再关联 Gitee 的远程库(注意路径中需要填写正确的用户名):
git remote add origin git@gitee.com:imnoob/runoob-test.git
此时,我们再查看远程库信息:
git remote -v origin git@gitee.com:imnoob/runoob-test.git (fetch) origin git@gitee.com:imnoob/runoob-test.git (push)
现在可以看到,origin 已经被关联到 Gitee 的远程库了。
通过 git push 命令就可以把本地库推送到 Gitee 上。
有的小伙伴又要问了,一个本地库能不能既关联 GitHub,又关联 Gitee 呢?
答案是肯定的,因为 git 本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。
使用多个远程库时,我们要注意,git 给远程库起的默认名称是 origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。
仍然以 runoob-test 本地库为例,我们先删除已关联的名为 origin 的远程库:
git remote rm origin
然后,先关联 GitHub 的远程库:
git remote add github git@github.com:tianqixin/runoob-git-test.git
注意,远程库的名称叫 github,不叫 origin 了。
接着,再关联 Gitee 的远程库:
git remote add gitee git@gitee.com:imnoob/runoob-test.git
同样注意,远程库的名称叫 gitee,不叫 origin。
现在,我们用 git remote -v 查看远程库信息,可以看到两个远程库:
git remote -v gitee git@gitee.com:imnoob/runoob-test.git (fetch) gitee git@gitee.com:imnoob/runoob-test.git (push) github git@github.com:tianqixin/runoob.git (fetch) github git@github.com:tianqixin/runoob.git (push)
如果要推送到 GitHub,使用命令:
git push github master
如果要推送到 Gitee,使用命令:
git push gitee master
这样一来,我们的本地库就可以同时与多个远程库互相同步: