GitHub和码云gitee及远程仓库管理

备注: 本文参考于廖雪峰老师的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。
知识点

  • git remote add 远程库地址,添加指定的远程库名
  • git remote rm 删除一个远程库
  • git remote -v查看远程库信息
GitHub
  • GitHub作为一个免费的远程仓库,可以很方便的发布自己的开源项目,同时参与别人的开源项目
  • 使用GitHU币的克隆和分支功能。在别人的开源项目中,点击“Fork”,就可以克隆一个开源项目的仓库到自己的仓库,然后使用clone克隆到本地,修改项目。然后推送到自己账户下的项目中。其他账户下是没有权限推送的。
  • 自己修改或增加新功能后。可以在GitHub上发起一个pull request,请求到开源项目库。如果对方接受pull request,就真正的贡献到开源项目中。
码云(gitee.com) 码云是国内的Git托管服务网站
码云不仅提供免费的Git仓库,还集成了代码质量检测、项目演示等功能。对于团队协作开发,码云还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费
gitee的使用
【GitHub和码云gitee及远程仓库管理】码云的使用方法和GitHub类似,注册账号并登陆后,需要上传自己的SSH公钥
  • 设置>SSH公钥,输入本地的公钥和title
GitHub和码云gitee及远程仓库管理
文章图片

  • 点击确定,添加key。
  • 将本地仓库关联到码云的远程仓库
  1. 首先,在码云创建一个新的项目,项目名最后与本地现有项目一样
GitHub和码云gitee及远程仓库管理
文章图片

GitHub和码云gitee及远程仓库管理
文章图片

  1. 在本地仓库上使用git remote add,和码云远程仓库关联
GitHub和码云gitee及远程仓库管理
文章图片

$ git remote add origin git@gitee.com:findmoon/gitTest.git fatal: 远程 origin 已经存在。

如上,提示origin远程库已经存在,本地库已经关联了一个名叫origin的远程库,即之前关联的github中的仓库
  • 查看远程库信息,git remote -v,本地库关联了GitHub的远程库
$ git remote -v origingit@github.com:findmoon/newrepo.git (fetch) origingit@github.com:findmoon/newrepo.git (push)

  • 删除已有的远程库的连接
$ git remote rm origin

  • 此时重新关联gitee码云的远程库
$ git remote add origin git@gitee.com:findmoon/gitTest.git

  • 查看远程库信息
$ git remote -v origingit@gitee.com:findmoon/gitTest.git (fetch) origingit@gitee.com:findmoon/gitTest.git (push)

此时origin已经关联到gitee码云的远程库。通过git push进行推送。
本地版本库关联多个远程库 Git作为分布式版本控制系统,可以同步到多个远程库。
git给远程库的默认名是origin,使用多个远程库时,需要指定不同的名称。
如下,先删除gitTest库的origin远程库,然后添加githubgitee两个远程库
$ 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 giteegit@gitee.com:findmoon/gitTest.git (fetch) giteegit@gitee.com:findmoon/gitTest.git (push) githubgit@github.com:findmoon/newrepo.git (fetch) githubgit@github.com:findmoon/newrepo.git (push)

  • 推送到GitHub
$ git push github master Everything up-to-date

  • 推送到gitee
$ git push gitee master Everything up-to-date

    推荐阅读