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

news2024/11/18 15:33:17

文章目录

  • GitHub和Gitee
    • GitHub和Gitee区别
    • 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可能更适合你。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1118275.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基本指令(1):操作系统/Xshell,文件,路径

一、操作系统 操作系统是一款进行软硬件资源管理的工具,对上提供良好、稳定的运行服务。 二、文件 1. 文件 文件内容 文件属性 2. 所有的文件操作: 对文件的内容进行操作 对文件的属性进行操作 三、路径 3.1 路径的概念 路径的本质是&#xff…

Transformers基本组件(一)快速入门Pipeline、Tokenizer、Model

Transformers基本组件(一)快速入门Pipeline、Tokenizer、Model Hugging Face出品的Transformers工具包可以说是自然语言处理领域中当下最常用的包之一,实现了大量的主流预训练模型架构,并提供了对应的与训练好的模型文件。 借助…

遗传算法求解旅行商问题(含python源代码)

目录 前言 编码初始化种群 计算适应度 选择 交叉 变异 完整代码 总结 前言 这次的算法有一点不能确定是否正确,希望有大佬能够批评指正。 遗传算法的一般步骤 编码初始化种群 种群(population)指同一时间生活在一定自然区域内&…

推荐3个好评如潮的多人协作软件!

​在当今高度互联的社会中,多人协作已成为团队高效工作的关键。为了更好地满足团队合作的需求,许多优秀的多人协作软件应运而生。 在本文中,我们将向大家推荐3款拥有良好口碑的多人协作软件:boardmix博思白板、Notion和Trello。这…

Linux_API_系列-整体概览

总论 Linux下API编程不像Windows一样,对每种设备和不同功能都有统一的API,所以有了《Windows核心编程》这种导论一类的大而全的书籍,整本书厚的像一块砖头。 Linux下贯彻了一贯的“一切皆文件”的宗旨,所以对于系统编程而言&…

Linux进程概念(下)

僵尸进程 进程内核数据结构PCB进程的代码和数据,都要占据内存空间,那么进程退出的核心工作之一:即将PCB和自己的代码和数据释放掉 我们创建进程的目标一定是为了完成某种任务,父进程/OS要知道该进程把任务完成的怎么样&#xff…

轻松实现批量转换,将JPG图片一键转换为PNG格式!

在处理大量图片时,将JPG格式图片转换为PNG格式可能会耗费您大量的时间和精力。为了让您的工作更加轻松,我们为您推出了一款高效的批量图片处理工具,让您能够轻松将JPG图片一键转换为PNG格式,提高处理效率! 首先&#…

使用命令行cli脚手架创建uniapp项目(微信小程序、H5、APP)

除了使用HBuilderX工具可视化搭建项目外,DCloud官方还提供了一个脚手架用于命令行搭建项目。 uni-app项目支持 uni cli和 HBuilderX cli两种脚手架工具: uni cli:面向非HBuilderX的用户(如习惯使用vscode/webstorm的开发者&#…

【数据结构】八大排序

目录 1. 排序的概念及其作用 1.1 排序的概念 1.2 排序运用 1.3 常见的排序算法 2. 常见排序算法的实现 2.1 插入排序 2.1.1 基本思想 2.1.2 直接插入排序 2.1.3 希尔排序(缩小增量排序) 2.2 选择排序 2.2.1 基本思想 2.2.2 直接选择排序 2.2…

掌握Java中的volatile关键字

高速缓存 什么是高速缓存 高速缓存(Cache)是一种用于存储计算机数据的临时存储设备,用于加速数据访问速度,减少对主存储器(RAM)或磁盘的频繁访问。高速缓存通过将最常用的数据存储在更接近CPU的位置&…

使用Perl和WWW::Mechanize库编写

以下是一个使用Perl和WWW::Mechanize库编写的网络爬虫程序的内容。代码必须使用以下代码:jshk.com.cn/get_proxy 首先,确保已经安装了Perl和WWW::Mechanize库。如果没有,请使用以下命令安装: cpan WWW::Mechanize创建一个新的Pe…

【MATLAB源码-第52期】基于matlab的4用户DS-CDMA误码率仿真,对比不同信道以及不同扩频码。

操作环境: MATLAB 2022a 1、算法描述 1. DS-CDMA系统 DS-CDMA (Direct Sequence Code Division Multiple Access) 是一种多址接入技术,其基本思想是使用伪随机码序列来调制发送信号。DS-CDMA的特点是所有用户在同一频率上同时发送和接收信息&#xf…

抖音热搜榜:探索热门话题的独特魅力

在信息爆炸的时代,我们每天都会接收到大量的信息,而抖音热搜榜就像是一个窗口,让我们能够窥见当下最受欢迎、最具话题性的内容。作为全球最受欢迎的短视频平台之一,抖音凭借其海量的内容、独特的推荐算法,让越来越多的…

阿里低代码Low Code Engine快速上手

一、环境准备 在正式开始之前,我们需要先安装相应的软件:WSL、Node等。Window 环境需要使用 WSL 在 windows 下进行低代码引擎相关的开发。安装教程➡️ WSL 安装教程。对于 Window 环境来说,之后所有需要执行命令的操作都是在 WSL 终端执行的。 2.1 Node 推荐安装Node 1…

Topaz Photo AI forMac/win:革命性的图片降噪软件

Topaz Photo AI是一款革命性的图片降噪软件,它利用人工智能技术对图片进行降噪处理,让你的照片焕然一新。与传统的降噪软件不同,Topaz Photo AI不仅降噪效果更出色,而且操作简单,让你可以轻松地提升图片质量。 Topaz …

CUDA学习笔记6——事件计时

事件计时 CUDA事件是直接在GPU上实现的,因此它们不适用于对同时包含设备代码和主机代码的混合代码计时。 cudaEventCreate 创建一个事件cudaEventRecord 记录一个事件cudaEventElapsedTime 计算两个事件之间经历的时间,第一个参数为某个浮点变量的地址…

MS12_020 3389远程溢出漏洞

1.search ms12_020 搜索ms12_020 2.use auxiliary/scanner/rdp/ms12_020_check 检查是否存在ms12_020漏洞 show options 查看所需参数 set RHOSTS x.x.x.x 设置目标IP地址 run 执行 检测出来有Ms12_020漏洞 3.use auxiliary/dos/windows/rdp/ms12_020_maxchannelids 选择…

SMOS土壤水分产品下载

SMOS土壤水分产品下载 打开下载网站 打开网站 打开DATA下的SMOS 然后找到SMOS的L1和L2data 首先需要注册一下,在该网站 然后找到了SMOS的NRT土壤水分产品,该产品从2010年开始,一直发布到现在,是基于L波段。 这里就是每天的土…

卷积神经网络CNN学习笔记-MaxPool2D函数解析

目录 1.函数签名:2.学习中的疑问3.代码 1.函数签名: torch.nn.MaxPool2d(kernel_size, strideNone, padding0, dilation1, return_indicesFalse, ceil_modeFalse) 2.学习中的疑问 Q:使用MaxPool2D池化时,当卷积核移动到某位置,该卷积核覆盖区域超过了输入尺寸时,MaxPool2D会…