廖雪峰Git教程学习笔记之使用GitHub和使用Gitee

-------------------------------------------廖雪峰Git教程学习笔记----------------------------------------


使用GitHub和使用Gitee

使用GitHub

  • GitHub作为免费的远程仓库
  • GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目

在GitHub上,利用Git极其强大的克隆和分支功能,广大人民群众真正可以第一次自由参与各种开源项目了。
如何参与一个开源项目呢?比如人气极高的bootstrap项目,这是一个非常强大的CSS框架,你可以访问它的项目主页https://github.com/twbs/bootstrap,点“Fork”就在自己的账号下克隆了一个bootstrap仓库,然后,从自己的账号下clone
image
一定要从自己的账号下clone仓库,这样你才能推送修改。如果从bootstrap的作者的仓库地址git@github.com:twbs/bootstrap.git克隆,因为没有权限,你将不能推送修改
Bootstrap的官方仓库twbs/bootstrap、你在GitHub上克隆的仓库my/bootstrap,以及你自己克隆到本地电脑的仓库,他们的关系就像下图显示的那样:
image

  • 如果你想修复bootstrap的一个bug,或者新增一个功能,立刻就可以开始干活,干完后,往自己的仓库推送。

  • 如果你希望bootstrap的官方库能接受你的修改,你就可以在GitHub上发起一个pull request。当然,对方是否接受你的pull request就不一定了

小结:

  • 在GitHub上,可以任意Fork开源仓库;
  • 自己拥有Fork后的仓库的读写权限;
  • 可以推送pull request给官方仓库来贡献代码。

使用Gitee

和GitHub相比,国内的Git托管服务Gitee也提供免费的Git仓库。此外,还集成了代码质量检测、项目演示等功能。对于团队协作开发,Gitee还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费。Gitee的免费版本也提供私有库功能,只是有5人的成员上限。
使用Gitee和使用GitHub类似,我们在Gitee上注册账号并登录后,需要先上传自己的SSH公钥。选择右上角用户头像 -> 菜单“修改资料”,然后选择“SSH公钥”,填写一个便于识别的标题,然后把用户主目录下的.ssh/id_rsa.pub文件的内容粘贴进去:
image
如果我们已经有了一个本地的git仓库(例如,一个名为learngit的本地库),如何把它关联到Gitee的远程库上呢?

  • 首先,我们在Gitee上创建一个新的项目,选择右上角用户头像 -> 菜单“控制面板”,然后点击“创建项目”:
    image
    项目名称最好与本地库保持一致
  • 然后,我们在本地库上使用命令git remote add把它和Gitee的远程库关联:
    image
    之后,就可以正常地用git push和git pull推送了!
  • 如果在使用命令git remote add时报错:
    image
    这说明本地库已经关联了一个名叫origin的远程库,此时,可以先用git remote -v查看远程库信息:
    image
    可以看到,本地库已经关联了origin的远程库,并且,该远程库指向GitHub。
    我们可以删除已有的GitHub远程库:
    image
    再关联Gitee的远程库(注意路径中需要填写正确的用户名):
    image
    此时,我们再查看远程库信息:
    image
    现在可以看到,origin已经被关联到Gitee的远程库了。通过git push命令就可以把本地库推送到Gitee上。

一个本地库能不能既关联GitHub,又关联Gitee呢?答案是肯定的,因为git本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。使用多个远程库时,我们要注意,git给远程库起的默认名称是origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库
仍然以learngit本地库为例,我们先删除已关联的名为origin的远程库:
image
然后,先关联GitHub的远程库:
image
注意,远程库的名称叫github,不叫origin了。
接着,再关联Gitee的远程库:
image
同样注意,远程库的名称叫gitee,不叫origin。
现在,我们用git remote -v查看远程库信息,可以看到两个远程库:
image
如果要推送到GitHub,使用命令:
image
如果要推送到Gitee,使用命令:
image
这样一来,我们的本地库就可以同时与多个远程库互相同步:
image

posted on 2022-02-04 12:18  朴素贝叶斯  阅读(29)  评论(0编辑  收藏  举报

导航