Git 和 GitHub 有什么区别?

什么是 Git?

Git是一个 分布式版本控制系统 (或 VCS),通常用于跟踪文件更改。 它由 Linux 内核的创建者 Linus Torvalds 于 2005 年开发。 Git 的主要用途是在软件开发过程中跟踪源代码中的更改。 源代码管理或 SCM 是其创建的主要原因。

Git 不是唯一可用的 VCS,但它无疑是最受欢迎的 VCS。 这主要是因为它是一个免费、开源、多平台、高度集成且使用相对简单的平台。 在本文中,我们将了解一些版本控制系统以及 Git 和 GitHub 是什么。 我们还将审查它们如何协同工作。 在其核心,版本控制软件允许我们跟踪代码更改。 通过这种方式,我们可以查看和评估文件的多次迭代或修订之间的差异。

这是一个典型的用例。 假设我们创建了一个网站并且它运行良好,即使经过几次更新! 有一天,我们对站点进行了一些小的更改,但突然间,它崩溃了。 通常,我们必须记住我们在上一次更新中所做的所有更改。 然后,返回并手动还原它们。 另一方面,Git 准确地向我们展示了我们所做的更改,包括哪些文件。 这使得追踪问题变得更加容易。 我们还可以直接撤消先前的更改并撤消可能导致问题的任何更新。 为了实现这一点,Git 使用存储库。

什么是 Git 存储库?

一个 Git 存储库 (或简称 repo)本质上是我们项目所在的文件夹。 它还包括一个 .git 目录,其中包含我们所有项目文件的修订历史。 有两种类型的回购:

  • 本地存储库 — 此文件夹包含我们工作的本地计算机上的所有文件。
  • 远程仓库 — 这是一个异地存储库。 它通常位于我们项目所在的服务器上。 它也可能驻留在像 GitHub 这样的存储库托管服务上。

使用远程存储库是 Git 的关键功能之一。 它扩展了其作为 VCS 的用途,并将其变成了一个协作工具。 复杂的项目通常需要多人参与。 远程存储库将我们共享的项目代码存储在一个位置。 此外,它还跟踪谁进行了哪些更改以及何时进行了更改。

分配

我们之前提到过 Git 是一个 分散式 风险控制系统。 为了解释这个概念,我们需要看一下另外两种类型的版本控制系统:

  • VCS 位置: 这是 VCS 最早和最基本的形式。 通常,这些只是一个数据库,用于跟踪对本地计算机上的一组文件所做的更改。 当多个开发人员在一个项目上工作时,这些方法不会很好地工作。
  • 集中式VCS 这是本地 VCS 的升级版。 项目及其版本数据库保存在一个位置,通常在服务器上。 协作者可以“签出”他们需要处理的文件。 这类似于从图书馆借书。 假设图书馆允许您修改和更新一本书的内容。

但是,如果中央服务器不可用或出现故障,整个项目就会停止或丢失。 除非有备份系统,否则分布式 VCS 就会发挥作用。 使用 Git 或其他 DVCS,每个用户的本地存储库都包含所有项目文件的完整副本。 它还包含整个修订历史。 每个用户都有完整的数据备份。 如果发生任何严重故障,项目可以快速恢复。

分枝

VCS 的另一个基本特性是 分枝. 分支定义为将工作与主项目分开,以在不影响主(主)分支的情况下修改项目代码。 此功能在测试和实施新功能或尝试针对问题或任务的替代解决方案时特别有用。 如果该分支得到改进,它将应用于主分支,并合并到其中。 Git 分支系统以轻量级和快速而闻名。 事实上,鼓励分支和合并作为工作流程的一部分。

什么是 GitHub?

GitHub 是一个存储库托管服务。 虽然我们没有在这篇特定的文章中介绍特定的 git 命令或工作流,但我们应该注意一些关键点:

githubloogo
  • Git 是一个独立的软件 需要安装. 不同操作系统的安装会有所不同。 最好检查需要做什么才能在我们的特定系统上启动和运行 Git。
  • Git 通常通过 CLI(命令行界面)使用。 还提供内置和第三方 GUI(图形用户界面)工具。
  • 使用 Git 的另一种流行方式是直接通过文本编辑器或 IDE。 许多 IDE 本身就支持 Git。 其他人可能需要安装插件或添加扩展。 这方面的一些例子是:
    • 升华
    • 原子
    • 网豆
    • 微软视觉工作室
    • 视觉工作室代码
    • 记事本++
    • VSCodium

存储库

在独立处理项目时,使用 Git 并设置远程存储库始终是一个好主意。 最好有一个修订系统用作备份,然后浪费时间重建丢失的数据。

我们还应该记住,我们希望我们的项目是公开的(开源)还是私有的。 GitHub 提供这两种选择,作为共享代码或保密的一种方式。

结论

回答我们最初的问题 Git 和 GitHub 有什么区别?

答案很简单,Git 是一个版本控制系统,可以让我们管理和跟踪源代码的历史记录。 GitHub 是基于云的存储介质,它允许我们将这些更改保存在远程存储库中。 同时使用 Git 和 GitHub 是维护代码库持续开发的明智选择。

学到更多

我们以成为 Hosting™ 中最有帮助的人而自豪!

我们的支持团队由经验丰富的 Linux 技术人员和才华横溢的系统管理员组成,他们对多种网络托管技术(尤其是本文中讨论的技术)了如指掌。

如果您对此信息有任何疑问,我们随时可以回答与本文相关的任何问题,一年 365 天,一周 7 天,一天 24 小时。

如果您是完全托管的 VPS 服务器, Cloud 专用,VMWare 私有 Cloud, 私有父服务器, 托管 Cloud 服务器或专用服务器所有者,并且您对执行列出的任何步骤感到不舒服,可以通过电话@800.580.4985 与我们联系,一个 聊天 或支持票以协助您完成此过程。