AI 积木机器人 AI全栈技师图灵奖预备役
← 返回学习路径

LESSON 01 · 基础协作

Git、GitHub 与 GitLab 到底有什么区别?

学完这一课,你只需要记住一句话:Git 是版本管理工具,GitHub 和 GitLab 是基于 Git 的协作平台。

预计 10 分钟 零基础 无需安装软件

01 / 先看关系

它们不是三个同类产品

Git 本地工具

Git

记录文件变化、创建分支、保存提交历史。没有网络时也能在电脑上使用。

+
GitHub 在线平台

GitHub

托管 Git 仓库,让团队通过 Pull Request、Issue 等功能协作。

GitLab 在线平台

GitLab

同样托管 Git 仓库,并提供 Merge Request、CI/CD 等团队能力。

类比:Git 像 Word 的“修订记录”;GitHub 和 GitLab 像存放文档、邀请同事评审的在线工作空间。

02 / 它们从哪里来

先有 Git,后来才有在线协作平台

Git 为大型开源项目而生

Linux 内核团队原本使用 BitKeeper。合作关系发生变化后,Linus Torvalds 和 Linux 社区开发了 Git,重点解决速度、分支和大型项目管理问题。

GitHub 把 Git 协作搬到网页上

GitHub 在 2008 年正式上线,让开发者更方便地托管仓库、分享代码,并围绕代码进行讨论与协作。

GitLab 从开源协作项目开始

GitLab 于 2011 年作为开源项目起步,目标同样是帮助团队协作,之后逐步整合代码评审、CI/CD、安全与项目管理能力。

关键点:GitHub 和 GitLab 没有取代 Git。它们是在 Git 之上增加了账号、权限、讨论、评审和自动化等团队功能。

03 / GitHub vs GitLab

核心工作方式很像,叫法有一点不同

对比项GitHubGitLab
代码仓库RepositoryProject / Repository
申请合并代码Pull Request(PR)Merge Request(MR)
任务讨论IssuesIssues
自动检查与发布GitHub ActionsGitLab CI/CD
常见印象开源社区非常活跃企业内部部署与一体化协作常见

两者都可以服务公开项目或企业项目,具体使用哪个通常由团队的技术设施和协作规范决定。

04 / 公司场景

为什么我们使用公司 GitLab?

01

统一保存

代码与版本记录集中在公司管理的平台中。

02

权限控制

根据项目和成员角色控制查看、提交与合并权限。

03

评审留痕

通过 Merge Request 讨论变更,保留意见和审批记录。

05 / 最小工作流

你以后会反复看到这几个动作

拉取项目新建分支修改文件提交记录推送 GitLab发起 MR
git clone 项目地址
git switch -c feature/my-change
git add .
git commit -m "说明这次修改"
git push -u origin feature/my-change

现在不用背命令。第一课只需要知道:前五步主要由 Git 完成,最后的评审与合并发生在 GitLab 页面中。

06 / 课后自测

三道题检查是否理解

1. 没有 GitHub 或 GitLab,还能使用 Git 吗?

可以。Git 可以独立在本地工作,只是团队共享与协作会不方便。

2. GitHub 的 PR 和 GitLab 的 MR 是完全不同的东西吗?

不是。名称不同,但核心都是提出合并变更、进行讨论和代码评审。

3. 把代码推送到公司平台后,代码是到了 GitHub 吗?

不是。如果远程地址指向公司 GitLab,代码就保存在公司 GitLab 中。

本课只记住

Git 管版本;GitHub / GitLab 管在线协作。