GitHub和码云gitee及远程仓库管理
备注:
本文参考于廖雪峰老师的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。
知识点
-
git remote add <name> 远程库地址
,添加指定的远程库名 -
git remote rm <name>
删除一个远程库 -
git remote -v
查看远程库信息
GitHub
-
GitHub作为一个免费的远程仓库,可以很方便的发布自己的开源项目,同时参与别人的开源项目
-
使用GitHU币的克隆和分支功能。在别人的开源项目中,点击“Fork”,就可以克隆一个开源项目的仓库到自己的仓库,然后使用clone克隆到本地,修改项目。然后推送到自己账户下的项目中。其他账户下是没有权限推送的。
-
自己修改或增加新功能后。可以在GitHub上发起一个
pull request
,请求到开源项目库。如果对方接受pull request
,就真正的贡献到开源项目中。
码云(gitee.com)
码云是国内的Git托管服务网站
码云不仅提供免费的Git仓库,还集成了代码质量检测、项目演示等功能。对于团队协作开发,码云还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费
gitee的使用
码云的使用方法和GitHub类似,注册账号并登陆后,需要上传自己的SSH
公钥
- 设置>SSH公钥,输入本地的公钥和
title
-
点击确定,添加key。
-
将本地仓库关联到码云的远程仓库
- 首先,在码云创建一个新的项目,项目名最后与本地现有项目一样
- 在本地仓库上使用
git remote add
,和码云远程仓库关联
$ git remote add origin git@gitee.com:findmoon/gitTest.git
fatal: 远程 origin 已经存在。
如上,提示origin远程库已经存在,本地库已经关联了一个名叫origin
的远程库,即之前关联的github中的仓库
- 查看远程库信息,
git remote -v
,本地库关联了GitHub的远程库
$ git remote -v
origin git@github.com:findmoon/newrepo.git (fetch)
origin git@github.com:findmoon/newrepo.git (push)
- 删除已有的远程库的连接
$ git remote rm origin
- 此时重新关联gitee码云的远程库
$ git remote add origin git@gitee.com:findmoon/gitTest.git
- 查看远程库信息
$ git remote -v
origin git@gitee.com:findmoon/gitTest.git (fetch)
origin git@gitee.com:findmoon/gitTest.git (push)
此时origin
已经关联到gitee码云的远程库。通过git push
进行推送。
本地版本库关联多个远程库
Git作为分布式版本控制系统,可以同步到多个远程库。
git给远程库的默认名是origin
,使用多个远程库时,需要指定不同的名称。
如下,先删除gitTest
库的origin
远程库,然后添加github
和gitee
两个远程库
$ git remote rm origin
$ git remote
$ git remote -v
$ git remote add github git@github.com:findmoon/newrepo.git
$ git remote add gitee git@gitee.com:findmoon/gitTest.git
$ git remote
gitee
github
- 新建了两个远程库,分别指向GitHub和gitee
$ git remote -v
gitee git@gitee.com:findmoon/gitTest.git (fetch)
gitee git@gitee.com:findmoon/gitTest.git (push)
github git@github.com:findmoon/newrepo.git (fetch)
github git@github.com:findmoon/newrepo.git (push)
- 推送到GitHub
$ git push github master
Everything up-to-date
- 推送到gitee
$ git push gitee master
Everything up-to-date