Git 基础知识
Git 与 GitHub:差异解释,以及 GitLab、Bitbucket 和 Azure DevOps
Git 是计算机上的版本控制工具; GitHub 是一个在线托管 Git 存储库的网站。以下是两者的结合方式、GitLab、Bitbucket 和 Azure DevOps 的比较,以及桌面 Git 客户端如何连接到这四者。
披露:GitTree 的制作者撰写了这篇文章,因此我们拥有 GitTree 的股份。我们从其官方页面和我们自己的使用情况描述每一种产品,包括我们的产品,并说明其他工具更适合哪些地方。

Git 与 GitHub 可以归结为一句话:Git 是一种版本控制工具,可在您自己的计算机上记录项目的每次更改,而 GitHub 是一个在线存储 Git 存储库副本的网站,以便人们可以共享它们、查看彼此的更改并运行自动检查。您可以在没有 GitHub 的情况下使用 Git,但 GitHub 是基于 Git 构建的。简而言之,Git 是一个程序,而 GitHub 是您可以保留程序生成的内容的多种服务之一。简短的 Git、GitTree 和您的托管提供商的视频 显示了差异。
本指南显示哪些命令是 Git,哪一部分是 GitHub,将 GitHub 与 GitLab、Bitbucket 和 Azure DevOps 进行比较,并说明桌面 Git 客户端如何连接到这四个命令。简短的披露:GitTree 的制作者编写了它,而 GitTree 是它提到的客户之一。有关其他服务的事实来自其官方页面,列在最后。
Git 和 GitHub 之间的区别
Git 将自己描述为一个免费、开源的分布式版本控制系统。 Linus Torvalds 和 Linux 内核社区在 2005 年失去了对他们一直使用的版本控制工具的免费访问权限后创建了它。 “分布式”意味着存储库的每个副本都保存完整的历史记录,因此您可以在完全没有网络连接的情况下提交、分支、比较和撤消。
什么是 Git,它在您的计算机上有什么作用?
当您在文件夹中运行 git init 时,Git 会在您的文件旁边创建一个隐藏的 .git 目录。从那时起它可以:
- 记录项目的快照,称为提交,每个快照都有一条消息、作者和日期。
- 在分支上保留单独的工作线,这样新功能就可以在不影响可用版本的情况下增长。
- 将分支重新合并在一起,并准确地向您显示历史上任意两点之间发生的变化。
- 当出现问题时,带您返回到任何早期的提交。
这些都不需要帐户、网站或互联网。 Git 首先是一个命令行程序;桌面 Git 客户端在其顶部放置了一个窗口。
GitHub 在线添加的内容
GitHub 自己的文档称,它基于 Git,通过在云中托管 Git 存储库并添加规划和协作工具来构建。实际上,GitHub 存储库是 GitHub 服务器上的 Git 存储库的副本,以及团队所需的所有内容:
- 远程托管:共享副本,公共或私有,每个人都可以推送和拉取。
- 拉取请求:合并分支的提案,将差异、评论和批准集中到一处。
- 问题和项目用于跟踪错误和计划的工作。
- GitHub Actions,一个用于构建、测试和部署代码的 CI/CD 平台。
- 访问控制谁可以读取、推送或合并。
Git 与 GitHub 概览
| git | GitHub | |
|---|---|---|
| 它是什么 | 版本控制软件 | 托管 Git 存储库的网站和服务 |
| 它运行在哪里 | 在您的计算机上(以及您安装它的任何服务器上) | 在 GitHub 的云中,或在您自己的带有 GitHub Enterprise Server 的服务器上 |
| 谁制造的 | 开源 Git 项目 | GitHub,自 2018 年起成为 Microsoft 的一部分 |
| 需要互联网 | 否,仅用于与遥控器同步 | 是的 |
| 成本(截至 2026 年 10 月) | 免费和开源 | 具有无限公共和私人存储库的免费计划;付费团队和企业计划 |
| 主要职位 | 提交、分支、合并、历史 | 共享、拉取请求、问题、CI/CD、权限 |
| 无需其他即可工作 | 是的 | 否:每个 GitHub 存储库都是 Git 存储库 |
什么是 GitHub?开发者为何使用它?
由于很多教程都以 GitHub 开头,因此这两个名称经常会混淆。 GitHub 是一项服务,人们使用它的主要原因有以下三个:
- 备份和会面点。 您的笔记本电脑可能会出现故障; GitHub 上的副本保留。每个队友都从同一个地方克隆并推回原处。
- 代码审查。 拉取请求允许其他人在到达
main之前读取差异、对单行进行评论并批准更改。 - 自动化和共享。 GitHub Actions 可以在每次推送时运行测试,公共存储库允许任何人阅读、分叉并向开源项目做出贡献。
GitHub 自 2018 年 10 月起成为 Microsoft 的一部分。其免费和付费计划显示在下面的比较表中,并且 GitHub 的定价页面 有当前限制。
Git 和 GitHub 通过一个真实的工作流程进行解释
查看 Git 结束位置和 GitHub 开始位置的最清晰方法是将一个新项目上线。这些是 GitHub 文档提供的命令,用于将本地项目添加到新的空 GitHub 存储库:
git init -b main
git add .
git commit -m "First commit"
git remote add origin https://github.com/your-name/your-project.git
git push -u origin maingit init -b main将文件夹转换为 Git 存储库,其第一个分支称为main。仅限 Git。git add .和git commit记录第一个快照。仍然只有 Git,仍然处于离线状态。git remote add origin …以短名称origin保存 GitHub 存储库的地址。这是一个 Git 命令; GitHub 只是地址。git push -u origin main将您的提交发送到 GitHub 并记住origin/main作为要同步的分支。这是需要网络和 GitHub 登录的第一步。
从那时起,每日循环就是在您的计算机上使用 Git(编辑,git add、git commit),git push 分享您的工作,git pull 引入您团队成员的工作。拉取请求、审核和 CI 运行发生在 GitHub 的网站上,然后每个人都拉取合并的结果。

GitHub vs GitLab vs Bitbucket vs Azure DevOps
其他三个服务为许多团队托管 Git 存储库。所有四个存储标准 Git 存储库,提供免费计划,让您在合并和运行 CI 管道之前查看更改。它们的不同之处在于谁制作了它们、他们所谓的审查以及它们如何适合您的团队已经使用的工具。
GitLab
GitLab 将其审核步骤称为合并请求:审核代码、讨论代码和跟踪更改的中心位置。 CI/CD 是内置的,GitLab 可以在由 GitLab 托管的 GitLab.com 上运行,也可以作为您自己的服务器上的自我管理实例运行,这适合必须将代码保留在内部的团队。
位桶
Bitbucket 是 Atlassian 的 Git 主机,Atlassian 将其与 Jira 的连接放在首位和中心位置。评论是拉取请求,CI 在 Bitbucket Pipelines 上运行,它以 Bitbucket Cloud 或自我管理的 Bitbucket 数据中心的形式出现。 Atlassian 的数据中心生命周期终止通知称,Bitbucket 数据中心不会退役,但自 2026 年 3 月 30 日起,新客户无法再购买数据中心订阅;现有客户可以通过 Bitbucket 混合许可证继续使用。
Azure 开发运营
Azure DevOps 是 Microsoft 的用于规划、编码、构建和测试的套件:Azure Boards、Azure Repos、Azure Pipelines、Azure Test Plans 和 Azure Artifacts。 Azure Repos 托管 Git 存储库,对于仍在使用它的团队,还托管 Team Foundation 版本控制 (TFVC)。微软的文档明确指出,Azure DevOps 中的 Git 是标准的 Git。它作为云服务 Azure DevOps Services 运行,或在本地作为 Azure DevOps Server 运行。
| 服务 | 制造者: | 审核请求 | 内置 CI/CD | 自己运行一下 | 免费计划 |
|---|---|---|---|---|---|
| GitHub | GitHub(微软) | 拉取请求 | GitHub 行动 | GitHub 企业服务器 | 无限制的公共和私有存储库,私有存储库每月 2,000 CI/CD 分钟 |
| GitLab | GitLab | 合并请求 | GitLab CI/CD | 自我管理GitLab | 每个顶级组 5 位用户,每月 400 分钟计算时间 |
| 位桶 | 阿特拉斯 | 拉取请求 | 位桶管道 | Bitbucket 数据中心(仅限 2026 年 3 月 30 日以来的现有数据中心客户) | 最多 5 位用户,每月 50 分钟构建时间 |
| Azure 开发运营 | 微软 | 拉取请求 | Azure管道 | Azure 开发运营服务器 | 前 5 位基本用户免费,每月一项 Microsoft 托管的 CI/CD 作业,时间为 1,800 分钟 |
你应该选择哪一个?通常,选择取决于其周围的工具而不是 Git 本身:Jira 用户通常选择 Bitbucket,想要一个自托管平台的团队会考虑 GitLab,已经使用 Microsoft 开发人员工具的公司往往会使用 Azure DevOps,并且许多开源项目都在 GitHub 上运行。您的 Git 技能适用于所有四个方面。
桌面 Git 客户端如何连接到 GitHub、GitLab、Bitbucket 和 Azure DevOps
桌面 Git 客户端是 Git 之上的图形窗口。它以两种不同的方式与托管服务通信,并且知道哪种方式可以解释大多数连接问题:
- 通过 HTTPS 或 SSH 的普通 Git。 克隆、获取、拉取和推送是普通的 Git 操作,只要您使用令牌或凭证管理器 (HTTPS) 或添加到帐户的 SSH 密钥进行身份验证,就可以与任何主机(包括自托管服务器)一起使用。
- 登录后,服务的 API。 列出存储库、打开拉取请求或重新运行失败的 CI 检查不是 Git 功能;客户需要与他们的每项服务进行专门的集成。
GitHub 自己的桌面客户端 GitHub Desktop 是免费且开源的,可与 GitHub 或其他 Git 主机配合使用;截至 2026 年 10 月,它仅在 macOS 和 Windows 上运行,没有 Linux 版本。正因如此,我们编写了关于 Linux 上的 GitHub 桌面 的指南以及关于 GitTree 作为 GitHub 桌面替代方案 的页面。
GitTree 如何连接到每项服务
GitTree 通过计算机上已安装的 Git(版本 2.39 或更高版本)工作:每个克隆、获取、拉取和推送都通过它运行,因此任何远程都可以通过 HTTPS 或 SSH 工作,包括没有专用集成的主机。最重要的是,GitTree 集成了本指南中的四种服务:
- GitHub,包括 GitHub 企业服务器。
- GitLab,gitlab.com 和自我管理实例。
- Bitbucket,Bitbucket 云和 Bitbucket 数据中心。
- Azure DevOps,云服务(Azure DevOps 服务)。
使用 Pro 版的 GitTree 帐户登录并连接托管帐户后,您可以浏览和克隆您的存储库,而无需复制 URL;列出、创建、审查、评论和合并拉取或合并请求;查看 CI 检查结果并在 GitHub Actions、GitLab CI/CD、Bitbucket Pipelines 和 Azure Pipelines 构建验证中重新运行它们;并在一个仪表板中跟踪所有存储库中打开的拉取请求。 GitHub和Bitbucket Cloud支持最成熟; GitLab、Azure DevOps、GitHub Enterprise Server 和 Bitbucket Data Center 支持是新增的。令牌保留在您操作系统的安全凭证存储中,GitTree 可以生成 SSH 密钥、对其进行测试并将其上传到 GitHub、GitLab 或 Bitbucket。

将 GitTree 连接到 GitHub、GitLab、Bitbucket 或 Azure DevOps
安装 GitTree 和 Git
下载 GitTree 适用于 macOS、Windows 或 Linux,并安装 Git 2.39 或更高版本(如果您尚未安装)(Git for Windows 在 Windows 电脑上)。 Ubuntu 22.04 和 Linux Mint 21 发布了 Git 2.34,因此首先在 Ubuntu 上升级 Git。
免费登录
GitTree 打开时要求您使用电子邮件或 GitHub、GitLab、Bitbucket 或 Azure DevOps 登录;您的浏览器将打开 gittree.app 并将您带回该应用程序。然后,通过 HTTPS 或 SSH 的普通 Git 将包含在免费计划中;连接托管帐户需要 GitTree Pro。
连接您的托管帐户
在首选项中,打开 Integrations 并连接存储库所在的服务。它是可选的:无需它即可通过 HTTPS 或 SSH 进行克隆、拉取和推送工作,但浏览存储库、拉取请求和 CI 检查需要它。
克隆存储库
在开始页面上选择克隆,粘贴存储库的 HTTPS 或 SSH 地址(或从连接帐户的存储库中选择),选择父文件夹并单击克隆。勾选克隆后打开,存储库将在复制后立即打开。
提交、推送并打开拉取请求
暂存您的更改,编写提交消息并推送。然后从 GitTree 创建拉取请求(GitLab 上的合并请求),或者将您的分支拖到目标分支上并选择打开一个。
您需要 Git、GitHub 还是两者都需要?
- 单独学习,或者一台电脑上的项目: Git就足够了。稍后当您需要备份时添加主机。
- 备份或第二台计算机: Git 加上任何具有免费私人存储库的主机。
- 团队: 每台计算机上的 Git,以及团队选择的主机。到处的命令都是一样的。
- 为开源做出贡献: Git 加上项目所在主机上的帐户,通常是 GitHub。
无论您选择什么,您都会将大部分时间花在 Git 本身上:提交、分支和合并。如果终端仍然感觉不熟悉,我们的 Git 初学者指南 将在 GUI 中逐步介绍这些基础知识,而 Git GUI 与命令行 可以帮助您决定如何工作。免费课程 Git、GitTree 和托管提供商:了解区别 将本文变成了动手练习,如果尚未安装 Git,安装 Git 并预览安全提交身份 将展示如何在 macOS、Windows 和 Linux 上下载和安装它。
大学生?请阅读 学生 Git GUI 指南,了解一次性 24 个月 Pro 优惠及其受限的学术电子邮件资格。
GitTree 有一个免费计划,涵盖所有 Git 功能,包括私有存储库;它需要 Git 2.39 或更高版本,以及 GitTree Pro 和一个用于托管集成的帐户。 Nour 是 AI 助手,随 GitTree Pro 一起提供(请参阅定价)。将其与我们的最佳 Git GUI 客户端 综述中的其他应用程序进行比较,或阅读 Mac、Windows 和 Linux 的安装说明。
常见问题
Git 与 GitHub 相同吗?
不。Git 是版本控制软件,在您的计算机上运行,并将项目的历史记录记录为提交和分支。 GitHub 是一项在线托管 Git 存储库并添加拉取请求、问题、CI/CD 和访问控制的服务。 Git 可以独立工作;每个 GitHub 存储库都是一个 Git 存储库。
我可以在没有 GitHub 的情况下使用 Git 吗?
是的。 Git 本身就是完整的:您可以在一台计算机上提交、分支、合并和浏览历史记录,而无需帐户或网络。当您需要备份或协作时,可以在 GitHub、GitLab、Bitbucket、Azure DevOps 或您自己的服务器上添加远程服务器,并随时更改主机。
GitHub免费吗?
截至 2026 年 10 月,GitHub 的免费计划包括无限的公共和私人存储库,加上每月 2,000 CI/CD 分钟和 500 MB 的程序包存储空间(在公共存储库中使用是免费的),以及适用于组织的付费团队和企业计划。 GitLab、Bitbucket 和 Azure DevOps 也有免费计划,但有其自身的限制;查看每个定价页面了解详细信息。
我需要安装 Git 才能使用 GitHub 吗?
要在您自己的计算机上操作 GitHub 存储库,可以:克隆、提交和推送都是 Git 操作。一些桌面客户端捆绑了自己的 Git,而 GitTree 使用您已有的副本并需要 2.39 或更高版本。要快速更改,您还可以在 GitHub 的网络编辑器中编辑文件。
GitHub 和 GitLab 有什么区别?
两者都托管 Git 存储库并添加代码审查、问题和 CI/CD。 GitHub 将审核称为拉取请求,并将 GitLab 称为合并请求;他们的管道是 GitHub Actions 和 GitLab CI/CD。 GitLab 在 GitLab.com 上运行或自行管理,而 GitHub 的自托管选项是 GitHub Enterprise Server。您的 Git 命令在两者上是相同的。
GitHub Desktop 与 Git 或 GitHub 相同吗?
两者都不。 GitHub Desktop 是 GitHub 自己的桌面 Git 客户端:一款免费的开源应用程序,可为您运行 Git 并与 GitHub 或其他 Git 主机配合使用。截至 2026 年 10 月,它仅在 macOS 和 Windows 上运行,没有 Linux 版本。其他桌面客户端(例如 GitTree)添加了针对 GitLab、Bitbucket 和 Azure DevOps 以及 GitHub 的专用集成。
谁拥有 GitHub?
Microsoft 拥有 GitHub;它于 2018 年 10 月完成了收购。这使得 Microsoft 成为本指南中四项服务中的两项(GitHub 和 Azure DevOps)背后的公司,它们仍然是具有自己计划的独立产品。 Git 本身不属于任何公司:它是一个免费的开源项目。
GitTree 是否可以与 GitLab、Bitbucket 和 Azure DevOps 配合使用?
是的。在免费套餐中,GitTree 可通过 HTTPS 或 SSH 与任何 Git 远程程序配合使用,而在 GitTree Pro 中,可与 GitHub(包括企业服务器)、GitLab(gitlab.com 和自我管理)、Bitbucket 云和数据中心以及用于存储库、拉取请求和 CI 检查的 Azure DevOps 服务集成。 GitHub和Bitbucket Cloud支持最成熟;其他集成是新的。
来源
有关其他产品的声明已根据其位于 2026年10月24日 的官方页面进行了检查。价格和功能发生变化;供应商的页面是事实的来源。
- Git:官方网站
- Pro Git:Git 简史
- GitHub 文档:什么是 GitHub?
- GitHub 文档:拉取请求
- GitHub 文档:了解 GitHub 操作
- GitHub 文档:将本地托管代码添加到 GitHub
- GitHub 文档:编辑文件
- GitHub 文档:关于 GitHub 企业服务器
- GitHub定价
- GitHub 文档:关于 GitHub Desktop
- GitHub 文档:安装 GitHub Desktop
- 微软官方博客:微软完成对 GitHub 的收购
- GitLab 文档:合并请求
- GitLab 文档:CI/CD
- GitLab定价
- Atlassian:Bitbucket
- Atlassian:Bitbucket 数据中心
- Atlassian:数据中心生命周期结束
- Bitbucket Cloud 文档:创建拉取请求
- 位桶定价
- Microsoft Learn:什么是 Azure DevOps?
- Microsoft Learn:什么是 Azure Repos?
- Azure DevOps 服务定价
所有产品名称均为其各自所有者的商标。 GitTree 是独立的,不隶属于其中任何一个,也不受其中任何一个的认可。