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可能更适合你。

相关推荐
DisonTangor2 小时前
谷歌开源首个扩散大语言模型——DiffusionGemma
人工智能·语言模型·自然语言处理·开源·aigc·transformer
冬奇Lab2 小时前
每日一个开源项目(第129篇):OpenMed - 永不离开设备的医疗 NLP
人工智能·开源·资讯
设计师小聂!2 小时前
宝塔 Linux 面板保姆级教程
linux·mysql·开源·运维开发
YuePeng5 小时前
凌晨 3 点告警群炸了,我用浏览器干了原本 XShell 才能干的事
后端·github
一拳小和尚LXY5 小时前
用户反馈管理系统横向对比:Canny vs Featurebase vs Fider vs FeedLog(2026 开源选型指南)
开源
QN1幻化引擎6 小时前
自注意力机制 20 年了,我们终于让它学会"压缩记忆"
github
我家媳妇儿萌哒哒6 小时前
git:无法推送refs到远端。您可以试着运行“拉取”功能,整合您的更改。
git
程序员柒叔7 小时前
Hermes Agent 一周动态-2026-W24
人工智能·github·agent·openclaw·hermes
咖啡星人k7 小时前
MonkeyCode 开源协作指南:如何让分布式团队高效使用AI编程
分布式·开源·ai编程·monkeycode
AndrewHZ8 小时前
【LLM技术全景】开源大模型生态:如何选择适合你的基座模型?
人工智能·深度学习·语言模型·开源·llm·transformer·基座模型