0


Git 与 GitHub:有什么区别?

Git 和 GitHub 有什么区别?

Git 和 GitHub 之间的主要区别在于,Git 是一个免费的开源版本控制工具,开发人员可以在他们的个人计算机上本地安装,而 GitHub 是一种付费使用的在线服务,旨在在云中运行 Git。

Git 是一款软件。GitHub 是一项在线 SaaS 服务。然而,尽管有这种区别,Git 和 GitHub 并不是竞争性产品。相反,它们协同工作并相辅相成。

什么是 Git?

Git 自称是一个简单易用的分布式版本控制工具。

开发人员可以在不同的时间点拍摄其代码的快照,从而创建映射其软件开发过程的版本历史记录。(这就是为什么 Git 被称为版本控制工具的原因。开发人员可以与位于世界任何地方的任意数量的其他开发人员协作共享这些代码快照或提交。

Git 是 Linus Torvalds 的心血结晶,由 Linux 基金会维护。在过去的 20 年里,成千上万的人和数百个组织为 Linux 内核做出了贡献,所有这些代码贡献都通过 Git 证明了它的成功。

Git 的缺点

了解 Git 的开发人员往往喜欢 Git,但这并不意味着 Git 并非没有缺点。包括 GitHub、GitLab 和 Bitbucket 在内的在线 SaaS 供应商已经出现,通过付费产品来解决 Git 的这些缺点。

例如,虽然 Git 支持开箱即用的协作开发,但许多用户发现 Git 的分布式特性难以配置。大多数组织都希望拥有一个开发人员可以轻松连接到的单一、集中、共享存储库。这正是 GitHub 和其他公司提供的。

借助 GitHub,您可以在其云中创建一个单一的共享存储库,该中央 GitHub 存储库将成为团队中每个人的真实来源。

GitHub 的优势

除了使 Git 更易于使用外,GitHub 还提供了各种普通安装 Git 无法获得的附加功能。

例如,Git 没有内置的用户管理或用户身份验证工具。如果远程用户可以访问您的本地 Git 安装,则他们可以完全控制您的存储库和提交历史记录,这意味着他们可以压缩提交、删除分支并完全破坏您的版本控制系统。

相比之下,GitHub 提供双因素身份验证
和基于令牌的授权服务
,用于控制用户可以对 Git 存储库执行的操作。

授权和身份验证不在 Git 功能集的范围内,但它们是大多数组织需要的。当组织想要的东西和 Git 工具提供的功能集之间存在差距时,GitHub 和 GitLab 等供应商会站出来填补空白。

然而,将 GitHub 描述为只是围绕基于云的 Git 托管服务提供一些额外的功能,这低估了它的真正价值。

GitHub 与 Git 有何不同

GitHub 围绕 Git 工具构建了一个完整的 DevOps 工具生态系统,有望提高开发人员、软件团队和组织的生产力。GitHub 在其 Git 托管服务之外提供的其他工具包括:

  • 一个基于 Web 的界面,使 Git 更易于使用。
  • GitHub Actions 帮助用户创建 CI/CD 管道。
  • 用于免费网站托管的 GitHub Pages。
  • 分支保护规则 ,提高安全性。
  • 拉取请求工作流,帮助合并和变基代码。
  • 代码扫描以识别已知漏洞。
  • GitHub Desktop ,用于简化推送、拉取和提取操作。
  • 软件团队管理工具。
  • GitHub Copilot,用于基于 AI 的对等编程。
  • 允许用户关注其他开发人员的社交媒体功能。

GitHub 不断扩展其软件开发相关工具套件。与此形成鲜明对比的是,Git 工具已经达到了非凡的稳定状态,除了对 API 进行了微小的调整外,几乎没有什么变化。

显示 Git 和 GitHub 之间比较的图表。

基本 Git 命令

10 年前使用 Git 的开发人员现在将使用相同的一组基本 git 命令,例如:

  • git init 创建存储库。
  • git clone 复制远程存储库。
  • git add 暂存文件。
  • git commit 来快照他们的代码。
  • git merge 合并分支。
  • git rebase 以简化其提交历史记录。
  • git fetchgit pull 来更新他们的仓库。
  • git push 与他人共享他们的代码。
  • git squashgit clean 用于内务管理。

近年来,Git 工具的唯一重大变化是添加了 git switch 和 git restore 命令,但这些命令没有添加任何新功能。他们只是拆分了 git checkout 命令的现有功能,社区认为它一次做了太多事情。

Git 与 GitHub 竞争对手

强调产品或工具之间差异的一种方法是查看这些工具的直接竞争对手。

对于 Git,直接竞争包括各种版本控制工具,例如:

  • Subversion (SVN).
  • Helix Core by Perforce.
  • Mercurial.
  • PVCS 版本管理器。
  • Rational ClearCase。

相比之下,GitHub 与其他专门从事云中 GitOps 的在线 SaaS 供应商竞争,包括:

  • GitLab.
  • Bitbucket from Atlassian.
  • AWS CodeCommit.
  • Azure DevOps Repos.
  • SourceForge.
  • RhodeCode.

正如你所看到的,Git 与执行版本控制功能的单个工具竞争。与此同时,GitHub 与其他在线 SaaS 供应商竞争,这些供应商提供一套与 Git 相关的 DevOps 工具。

我应该使用 Git 还是 GitHub?

Git 和 GitHub 是互补的技术
,因此您不必在两者之间做出选择。

您可以单独使用 Git 在大型项目上可靠地执行分布式版本控制。使用 Git 来维护 Linux 内核证明了这一点。

如果 GitHub、GitLab 或 Bitbucket 等在线 Git 托管服务的功能对您有吸引力,那么使用 GitHub 等服务来补充您的本地 Git 使用是有意义的。

Git 具有各种定价层,从小型团队的免费托管到具有广泛 CI/CD 支持的企业软件包和由 AI 技术补充的开发服务。请记住,GitHub 归 Microsoft 所有,该公司在 OpenAI 和 ChatGPT 上投入了大量资金。期待将 AI 技术快速集成到通过 GitHub 和 Microsoft 的 Azure 云
提供的 DevOps 工具链中。

Git 是一个经过验证的、可靠的分布式版本控制工具。GitHub 是一套经过验证且可靠的 DevOps 和 GitOps 工具,围绕开源 Git 工具构建。

当 Git 和 GitHub 一起使用时,开发人员可以享受两全其美的体验。

标签: git github

本文转载自: https://blog.csdn.net/simon_21/article/details/136398994
版权归原作者 缺陷代码 所有, 如有侵权,请联系我们删除。

“Git 与 GitHub:有什么区别?”的评论:

还没有评论