Skip to content
01.版本控制»01.Git»03.远程仓库»LV001-Github简介.md

LV001-Github简介

其实前边已经介绍过 GitHub 了,这里再啰嗦一下吧。

一、 GitHub 简介

1. Github 是什么?

GitHub 是一个面向开源及私有软件项目的 托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub 。简单来说,它是一个代码托管云服务网站,帮助开发者存储和管理其项目源代码,且能够追踪、记录并控制用户对其代码的修改。

官网为:GitHub

2. Github 能做什么?

  • 托管代码、历史版本管理
  • 搜索开源项目
  • 分享的同时会得到社区的回馈
  • 使用 Github Pages 服务,可以免费搭建一个博客网站
  • 学习,能力提升
  • 提升自己的影响力
  • 另外 Github Actions 可以运行一个自动的流水线。

3. Github 与 Git 有什么关系?

简单来说, Git 只是一个 命令行工具,一个 分布式版本控制系统。正是它在背后管理和跟踪我们的代码历史版本,好比一个时光机,让我们在代码出错时不至于手忙脚乱,能快速回退之前的历史版本。 类似的工具还有 SVN 。

而 GitHub 是一个代码托管网站,背后使用 Git 作为版本管理工具(而非 svn )。主要服务是将我们的项目代码托管到云服务器上,而非存储在自己本地硬盘上。类似的网站还有 GitLabBitbucketCODING DevOps(国内),Gitee(国内),后来还有腾讯新推出的 CNB。

4. 为什么要用 Github 托管代码?

试想一下,当我们需要在两个不同且间隔很远的地方来回奔波,并且还要写代码的时候,代码在本地电脑里边,但是我们总不能到处都带着电脑吧,很简单的一个想法,我们可以用硬盘啊,或者云盘,保存一份代码,只带着硬盘或者从云盘里边下载,这样不就解决了携带电脑的不便问题了吗?没错, GitHub 就是一个大型的托管平台,这个平台可以实现团队协作,也可以同步提交记录,无疑是提供了巨大的方便。

二、怎样使用 Github ?

1. 注册 Github 账号

html
https://github.com/

进入网站后,点击 【 sign up】 即可开始注册

image-20220112164049972

2. 新建仓库

image-20220112164554671
  • 输入仓库相关信息,并创建即可
image-20220112165056498

3. fork 别人的仓库

有的时候我们看到别人的开源仓库,然后想要以此为基础进行自己的开发,但是又不想重新造轮子,我们该怎么把它变成自己的仓库呢?这个时候有一个操作叫 fork。我们找一个开源仓库,比如我所使用的博客框架 hexo 的:hexojs/hexo: A fast, simple & powerful blog framework, powered by Node.js. (github.com)

image-20230624212250364

在仓库的这里会有一个 fork 的操作,我们一点,就会将这个仓库复制到我们自己的账号中啦。

4. GitHub 的基本认识

GitHub 远程仓库应该与本地仓库一样,有各种提交记录,分支什么的,怎么查看?这里还是以 hexojs/hexo: A fast, simple & powerful blog framework, powered by Node.js. (github.com) 为例。

4.1 查看分支

image-20230625064717365

如上图所示操作即可查看所有的分支,也可以跳转到指定分支。

4.2 查看提交记录

image-20230625064832968

点击源码界面的 commits 即可跳转到提交历史记录界面:

image-20230625064942706

图中框出的地方即为每次提交的 commit id。

4.3 在线查看差异?

GitHub 提供了在线查看提交差异的操作,我们直接点击某一次提交记录就可以转入此次提交相对于上次提交的差异的界面:

image-20230625065222500

我们点击这一次提交记录,就会来到这样一个界面:

image-20230625065408385

我们有两种差异显示风格可以选择,有什么区别?那就自己点击看一看就知道啦,哈哈,这里就不贴图占流量了。

5. 本地版本库与远程仓库相关命令

这里只是提一下,后边会再进行操作学习。

5.1 克隆仓库

git-clone https://git-scm.com/docs/git-clone/en#_name
shell
# 克隆相关操作
git clone <repository_url>  # clone 仓库
git clone <repository_url> another-repository-name # clone 下来的仓库存储为其他名称

5.2 推送与拉取

git-remote https://git-scm.com/docs/git-remote#_name
git-push https://git-scm.com/docs/git-push#_name
git-pull https://git-scm.com/docs/git-pull#_name
shell
# 添加本地仓库与远程仓库链接
# name 为远程仓库地址设置一个别名,也可以为其他
# url 为仓库地址
git remote add <name> <url>
git remote                       # 列出每个远程库的简短名字
git remote -v                    # 直接显示对应的克隆地址
git remote remove <name>         # 删除本地仓库与远程仓库关联
git push -u <name> <branch name> # 将本地仓库文件上传到远程仓库分支
git pull <name> <远程分支>       # 从远程仓库更新本地仓库版本, 远程分支与本地当前分支合并
git pull <name> <远程分支>:<本地分支> # 从远程仓库更新本地仓库版本, 远程分支与本地当前分支合并

三、托管平台仓库限制

1. Github 存储库大小限制

Github 建议存储库保持较小,理想情况下小于 1 GB,强烈建议小于 5 GB。较小的存储库克隆速度更快,并且更易于使用和维护。如果我们的存储库过度影响我们的基础设施,可能会收到来自 GitHub 支持团队的电子邮件,要求我们采取纠正措施。

我们可以在 github/git-sizer 存储库中找到有关存储库分析的建议和工具。

外部依赖项会导致 Git 存储库变得非常大。为了避免存储库中充斥着外部依赖项,GitHub 建议我们使用包管理器。常用语言的流行包管理器包括 BundlerNode 的包管理器Maven。这些包管理器支持直接使用 Git 存储库,因此我们无需预打包的源代码。

Git 并非旨在用作备份工具。但是,有许多专门设计用于执行备份的解决方案,例如 ArqCarboniteCrashPlan

2. Gitee的存储库大小限制

仓库体积过大,如何减小 | Gitee 帮助中心

Gitee 平台目前对仓库的配额如下:

套餐免费版标准版高级版尊享版
单仓库最大 500 MB最大 1 GB最大 2 GB最大 3 GB
单文件最大 50 MB最大 100 MB最大 200 MB最大 300 MB

如用户在使用过程中不小心将较大的二进制文件加入仓库,那么仓库大小很快就会超过规定的配额,用户可以通过升级到对应的套餐配额或对仓库进行历史改写瘦身,来解除系统对仓库推拉服务的锁定。

瘦身之后,可使用 Git 大文件存储(Git LFS)来解决大文件存储空间占用的问题,Git LFS 使用帮助参考:Git LFS 操作指南

莫道桑榆晚 为霞尚满天.