GitHub和Gitee的区别以及具体使用

文章目录

GitHub和Gitee

GitHub和Gitee区别

  • 速度不同:GitHub位于美国,而Gitee位于中国。这意味着在中国使用Gitee可能会有更快的访问速度和更好的稳定性。如果我们希望体验Git飞一般的速度,可以使用国内的Git托管服务------Gitee(gitee.com)。
  • 社区范围不同:GitHub是全球最大的开源社区之一,拥有大量的开源项目和开发者。Gitee则更加侧重于中国的开源社区,有很多中国开发者和项目。
  • 私有仓库:GitHub在免费账户中只允许创建公开仓库,如果需要创建私有仓库,则需要付费。而Gitee在免费账户中允许创建一定数量的私有仓库,更适合个人开发者和小型团队。对于团队协作开发,Gitee还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费。

GitHub的使用

我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。

在GitHub上,利用Git极其强大的克隆和分支功能,真正可以自由参与各种开源项目了。

下面我们来参与一个开源项目:

比如人气极高的bootstrap项目,这是一个非常强大的CSS框架,你可以访问它的项目主页https://github.com/twbs/bootstrap,点"Fork"就在自己的账号下克隆了一个bootstrap仓库

然后,从自己的账号下clone:

git clone git@github.com:songwaimaideyasuo/bootstrap.git

一定要从自己的账号下clone仓库,这样你才能推送修改。如果从bootstrap的作者的仓库地址git@github.com:twbs/bootstrap.git克隆,因为没有权限,你将不能推送修改。

现在他们的关系就像下图显示的那样:

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

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

Gitee的使用

使用Gitee和使用GitHub类似,我们在Gitee上注册账号并登录后,需要先上传自己的SSH公钥。选择右上角用户头像 -> 菜单"设置",

然后选择"SSH公钥",填写一个便于识别的标题,然后把用户主目录下的.ssh/id_rsa.pub文件的内容粘贴进去:

点击"确定"即可完成并看到刚才添加的Key:

如果我们已经有了一个本地的git仓库(例如,一个名为learngit的本地库),如何把它关联到Gitee的远程库上呢?

首先,我们在Gitee上创建一个新的项目,选择右上角用户头像旁边的+,然后点击"创建仓库:

点击创建。

然后,我们在本地库上使用命令git remote add把它和Gitee的远程库关联:

git remote add origin git@gitee.com:yasso-delivering-takeout/learngit.git

之后,就可以正常地用git push和git pull推送了!

如果在使用命令git remote add时报错:

这说明本地库已经关联了一个名叫origin的远程库,此时,可以先用git remote -v查看远程库信息:

git remote -v

我们可以删除已有的GitHub远程库:

git remote rm origin

再关联Gitee的远程库(注意路径中需要填写正确的用户名):

git remote add origin git@gitee.com:yasso-delivering-takeout/learngit.git

此时,我们再查看远程库信息:

git remote -v

现在可以看到,origin已经被关联到Gitee的远程库了。通过git push命令就可以把本地库推送到Gitee上。

有的小伙伴又要问了,一个本地库能不能既关联GitHub,又关联Gitee呢?

答案是肯定的,因为git本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。

使用多个远程库时,我们要注意,git给远程库起的默认名称是origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。

仍然以learngit本地库为例,我们先删除已关联的名为origin的远程库:

git remote rm origin

然后,先关联GitHub的远程库:

git remote add github git@github.com:songwaimaideyasuo/learngit.git

注意:远程库的名称叫github,不叫origin了。

接着,再关联Gitee的远程库:

git remote add gitee git@gitee.com:yasso-delivering-takeout/learngit.git

同样注意,远程库的名称叫gitee,不叫origin。

现在,我们用git remote -v查看远程库信息,可以看到两个远程库:

git remote -v

如果要推送到GitHub,使用命令:

git push github master

如果要推送到Gitee,使用命令:

git push gitee master

这样一来,我们的本地库就可以同时与多个远程库互相同步。

Gitee也同样提供了Pull request功能,可以让其他小伙伴参与到开源项目中来。

小结:

在GitHub和Gitee上,都可以任意Fork开源仓库;

自己拥有Fork后的仓库的读写权限;

可以推送pull request给官方仓库来贡献代码。

GitHub和Gitee都是优秀的代码托管平台,选择使用哪一个取决于个人或团队的需求和偏好。如果你在中国,并且更关注中国开发者社区,那么Gitee可能是一个更好的选择。如果你更关注全球开发者社区和更广泛的开源项目,那么GitHub可能更适合你。

相关推荐
_tison16 分钟前
夜天之书 #103 开源嘉年华纪实
开源
customer0820 分钟前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源
研究是为了理解5 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT5 小时前
Git 的基本概念和使用方式
git
非著名程序员6 小时前
腾讯为什么支持开源?
开源
CSDN云计算6 小时前
如何以开源加速AI企业落地,红帽带来新解法
人工智能·开源·openshift·红帽·instructlab
customer088 小时前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
Winston Wood8 小时前
一文了解git TAG
git·版本控制
喵喵先森9 小时前
Git 的基本概念和使用方式
git·源代码管理