Git GitLab介绍 Git 是工具GitLab 是使用这个工具的“工厂”或“协作平台”。它们是完全不同层面的东西但紧密相关。下面是详细的对比1. Git - 版本控制系统核心工具本质一个开源的分布式版本控制软件由 Linus Torvalds 创建。作用它像一台“时间机器”在你的本地电脑上管理文件尤其是代码的所有修改历史。你可以创建保存点提交、回到过去、创建分支进行实验等。工作方式主要通过命令行git init, git commit, git push 等命令在本地操作。关键点Git 本身不提供网页界面、不管理用户权限、也没有“Pull Request”功能。它只是一个本地命令行工具。2. GitLab - 基于 Git 的 DevOps 平台协作平台本质一个基于 Git 构建的完整的Web 协作平台和 DevOps 生命周期管理工具。作用它提供了一个中央服务器你可以用 GitLab.com 的云服务或自己搭建让团队能共同使用 Git。它围绕 Git 仓库添加了所有协作功能。核心功能Git 不具备的网页图形界面浏览代码、提交历史、对比差异。代码托管存储你的 Git 仓库的中央远程服务器。协作功能Merge Request合并请求类似 GitHub 的 Pull Request、代码评审、问题跟踪、Wiki 文档。DevOps 流水线内置强大的 CI/CD持续集成/持续部署工具自动化测试和部署。用户与权限管理精细的团队和项目权限控制。核心关系比喻Git 是引擎GitLab 是整车。Git 是单机游戏GitLab 是联机对战平台。Git 管理本地历史GitLab 管理团队协作和流程。主要区别总结表特性GitGitLab类型版本控制工具/软件基于 Git 的 Web 平台/服务安装位置安装在你的本地电脑上部署在服务器上或使用 gitlab.com主要界面命令行终端 (CLI)网页浏览器 (Web UI)核心功能本地版本控制提交、分支、合并代码托管、协作评审、CI/CD、项目管理协作本身不支持需配合远程仓库如 GitLab原生支持团队协作MR、Issue、权限网络需求本地操作无需网络同步需要网络主要通过网络访问一个简单的使用流程说明两者的关系你在本地用 Git 命令 git commit 保存代码。你用 Git 命令 git push 将本地提交推送到远程的 GitLab 服务器。你的同事在 GitLab 网站上通过网页创建 Merge Request 请求合并他的修改。你在 GitLab 的网页上评审他的代码并通过点击按钮完成合并。你用 Git 命令 git pull 将合并后的最新代码拉取到本地。总结你使用 Git工具在本地操作版本而使用 GitLab平台来存储代码中心副本并实现团队协作。 类似 GitLab 的平台还有 GitHub 和 Bitbucket。