3. 代码管理-Git概述
2026/9/15 12:56:13 网站建设 项目流程

文章目录

  • 前言
  • 一、Git
    • 1. Git 与 SVN 区别
    • 2. Git 入门
    • 3. 客户端工具
    • 4. 主流Git仓库
  • 二、GitLab
    • 1. 介绍
    • 2. 适合的场景
  • 二、GitHub
    • 1. 介绍
    • 2. 适合的场景
  • 三、Gitee
    • 1. 介绍
    • 2. 适合的场景
  • 四、GitCode
    • 1. 介绍
    • 2. 适合的场景
  • 五、区别
    • 1. Git 是什么:你电脑里的「时光机」
    • 2. GitHub / Gitee / GitLab 是什么?有什么区别?
      • GitHub:全球最大的开源广场
      • Gitee:国内的「码云」
      • GitLab:公司里的「全家桶」
    • 3. 它们四个到底什么关系
    • 4. 怎么用:完整的使用流程
    • 5. 怎么选:如何取舍
  • 六、总结

前言

代码托管

Git作为目前最为流行的版本控制系统,也逐渐成为了开发者们的标配。但是,如何选择一个合适的Git仓库来存储您的代码呢?


一、Git

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

1. Git 与 SVN 区别

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。

如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

Git 与 SVN 区别点:

1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。

2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。

4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

2. Git 入门

Git 快速入门版本,可以查看 Git 简明指南。

3. 客户端工具

Git 有很多图形界面工具 ( GUI ),比如 SourceTree、Github Desktop、TortoiseGit 等。

SourceTree 是一个 Git 客户端管理工具,适用于 Windows 和 Mac 系统。

SourceTree 简化了开发者与代码仓库之间的 Git 操作方式,我们可以通过界面菜单很方便的处理 Git 操作,而不需要通过命令。

通过 SourceTree,我们可以管理所有的 Git 库,无论是远程还是本地的。SourceTree 支持 Bitbucket、GitHub 以及 Gitlab 等远程仓库。


Sourcetree 使用教程。

4. 主流Git仓库

GitLab、GitHub、Gitee 和 GitCode 是当今市场上主流的代码托管和服务平台,它们都基于 Git 分布式版本控制系统,其实就是基于B/S模式的网站/Web服务,但各自具有独特的特性和定位。

以下将对它们进行对比和评估。

二、GitLab

官方地址

1. 介绍

GitLab 是一个自托管的 Git 项目管理平台,支持团队协作和 DevOps 流程。它提供了一系列功能来管理和部署项目,包括代码托管、问题跟踪、CI/CD 管道以及代码审查等。

GitLab 还提供了免费的计划,允许创建公共和私有仓库,并可以在云端和本地部署。

极狐GitLab 是 GitLab 中国发行版(JH),更加适配国内生产环境,提供更完备的原厂服务。

  • 定位:GitLab 是一个一体化的 DevOps 平台,提供从源代码管理、持续集成/持续部署(CI/CD)、项目管理、安全扫描到监控等全面服务。
  • 版本:GitLab 提供社区版(GitLab CE)和企业版(GitLab EE),后者包含更多高级功能,并针对企业级用户提供付费支持和服务。
  • 部署:既可以自行部署在企业内部服务器上作为私有仓库使用,也提供云端托管服务。
  • 特色:GitLab 自带 CI/CD 工具 GitLab CI/CD,丰富的权限管理,以及可高度定制的自动化流程。

2. 适合的场景

  • DevOps 流程:GitLab 的 CI/CD 功能使得构建、测试和部署流程更加简单高效。
  • 企业级解决方案:对于大型组织和企业来说,GitLab 提供了开源的自托管方案,可以基本满足全面的需求,也提供了付费的更多高级功能和服务支持。

二、GitHub


官方地址

1. 介绍

GitHub 是目前最大的 Git 托管服务提供商之一,它提供了功能强大的代码托管服务,并且支持公共和私有仓库。允许用户与其他开发者合作,在项目上共享代码,并进行代码审查。它也提供了一些基本的项目管理功能,但相对于 GitLab 来说功能较少,更适合个人开发者或小型团队使用。

GitHub 有一个不断增长的活跃社区,也是目前全球最大的开发者社交平台。在这里,可以找到很多优秀的开源项目,也可以与其他开发者进行社交互动和协作。

  • 定位:GitHub 主要是面向全球开发者社区的代码托管平台,也是开源项目的首选之地,拥有庞大的开源生态系统。
  • 服务:提供免费的公共仓库和个人使用的私有仓库(有限数量),商业用户可以购买额外的私有仓库和企业级功能。
  • 特色:GitHub Actions 是其内置的 CI/CD 工具,GitHub Issues 和 Pull Requests 功能非常完善,便于协作和项目管理。
  • 收购:Microsoft 在2018年收购了GitHub,因此它还整合了微软的一些服务和工具。

2. 适合的场景

  • 开源项目:GitHub 聚集了许多优秀的开源项目,对于想要分享和交流的程序员来说是一个理想的选择。
  • 社交开发:GitHub 的社交特性可以帮助用户更好地与其他开发者进行交流,对跨国协作非常友好。

三、Gitee


官方地址

1. 介绍

Gitee 是一个国产的 Git 代码托管平台,与 GitHub 类似,它提供了基于云的代码托管、问题跟踪、CI/CD 等一系列功能,并且支持公共和私有仓库,免费和付费两种使用方式。

不同之处在于,Gitee 在国内部署了服务器,因此访问速度相对较快。另外,Gitee 还提供了一些特色功能,如集成了 Gitee Pages(类似于 GitHub Pages)和 Gitee GVP(类似于 GitHub 经纪人)等。

  • 定位:Gitee 是中国的代码托管服务平台,主要面向中国开发者市场,特别强调对中文用户的友好体验和服务。
  • 优势:考虑到网络访问速度和数据主权问题,对于希望在国内快速访问和存储代码资源的开发者而言,Gitee 是很好的选择。
  • 特色:同样提供公共和私有的仓库选项,兼容GitHub API,支持企业内部的私有部署,并与中国本地的开发环境及服务紧密集成。

2. 适合的场景

  • 中国用户:为了更好地照顾中国用户,Gitee 提供了更多的本土化服务。
  • 开源项目:Gitee 的开源仓库提供了免费的公共仓库,适合各种大小的开源项目。

四、GitCode


官方地址

1. 介绍

GitCode 是一个由 华为云 和 CSDN 联合开发打造的国产专业代码托管服务平台。它提供了可靠的代码管理和版本控制工具,支持公共和私有仓库,并提供了全面的协作和管理工具。

作为一个新兴的代码托管平台,与其他三个平台相比较为小众。GitCode 主打简洁和高速的特点,提供了基本的代码托管功能和一些简单的项目管理工具。GitCode 目前还在不断发展中,功能相对较少,但在一些特定的应用场景下可能更适合一些开发者的需求。

2. 适合的场景

  • 大文件托管:相比其他 Git 托管服务,GitCode 提供了更大的文件托管能力。
  • 持续集成服务:GitCode 内置了持续集成和部署服务,使得项目的构建和部署流程更加顺畅。

五、区别

打个比方:Git 就像一只笔,GitHub、Gitee、GitLab 就像三张不同的纸。你拿笔在任何一张纸上写字,写法都一样;但笔和纸,从来就是两码事。

1. Git 是什么:你电脑里的「时光机」

Git 是一个版本控制工具。说人话:它就是装在你电脑上的一个软件,专门帮你管本地代码的版本,也类似于本地仓库,注意是本地。

它最厉害的地方,是给你装了台「时光机」,可以支持版本管理,代码回退。你每次改完代码,拍一张快照(这叫一次 commit),Git 就帮你记下来:谁改的、什么时候改的、改了哪几行。哪天你手残把功能写崩了,一键回到昨天的那个快照,世界又清净了。

它还有个反直觉的优点:不用联网也能用。你在飞机上、在山洞里,照常 commit、照常开分支,等连上网再同步。

一句话:Git 只管你本地那台电脑上的版本,它不知道什么叫「上网」、「云端」;和GitHub / Gitee / GitLab完全是独立的东西。

2. GitHub / Gitee / GitLab 是什么?有什么区别?

Git 只在你电脑上玩,那我想把代码备份到云端、或者想跟同事一起改同一份代码,怎么办?

这就需要「远程仓库」 GitHub、Gitee、GitLab —> 一个存储代码的远程仓库,专门把本地Git 管理的私有代码放到公共平台的地方。它们都基于 Git 命令操作搭建,你可以使用 Git 命令操作管理这些远程仓库,使用方式也一模一样,只是名字不同。

GitHub:全球最大的开源广场

它是全球开发者密度最高的地方,几千万开发者、几百万开源项目都堆在这儿。

它的精髓是「社交化编程」:你写个开源项目放上去,全世界都能看到、能给你提建议、能帮你改。学新技术、找轮子、混开源圈,GitHub 是首选。

唯一槽点:服务器在国外,国内访问有时候慢得让人想砸键盘。

Gitee:国内的「码云」

2013 年由开源中国推出,又叫码云。它和 GitHub 干的是同一件事,最大的不同就俩字:在国内。

服务器在国内,访问飞快,不用翻墙。个人免费版就能建私有仓库,很多国内大厂和高校都用它满足合规要求。如果你想参与国内开源、或者单纯嫌 GitHub 慢,Gitee 是顺手的选择。

GitLab:公司里的「全家桶」

2011 年上线,画风跟前两个不太一样。它更像给企业用的「全家桶」:不光托管代码,还自带 CI/CD、容器仓库、项目管理,一套把「开发到上线」全流程包圆了。

它最关键的标签是「能自己部署」——大多数公司会把它搭在自己的服务器上,代码不出内网,安全保密性拉满。

3. 它们四个到底什么关系

把前面说的串起来,四句话就够:

Git 只是你本地管代码的工具;GitHub 是国外公司基于 Git 做的远程仓库;Gitee 是国内公司基于 Git 做的远程仓库;GitLab 是你自己基于Git搭一套远程仓库。

打个比方——Git 是发动机,三个平台是不同的车子外壳;发动机决定你能跑,外壳决定你在哪跑、装多少人、配什么功能。

最关键的一点:学会了 Git 的这几个核心命令,到哪个平台都通用。下面这份常用命令建议直接截图或收藏,随手就能翻出来查,比硬背省事:

【一、配置(只做一次)】gitconfig--globaluser.name"你的名字"# Git 提交时记录你是谁gitconfig--globaluser.email"你的邮箱"# 同上,团队协作靠邮箱认人【二、拿到 / 新建仓库】gitclone https://地址/仓库.git# 把远程仓库整份下载到本地gitinit# 在当前文件夹新建空仓库,开始追踪【三、日常核心循环(最高频)】gitstatus# 看当前改了哪些文件gitadd.# 把所有改动放进本地对电脑暂存区gitcommit-m"说明这次改了啥"# 提交到本地仓库gitpull origin main# 推之前先拉最新(避免冲突)gitpush origin main# 把快照推到远程【四、分支:安全地并行干活】gitcheckout-b功能名# 新建并切到一个新分支gitmerge 功能名# 把分支合并回当前分支gitbranch-d功能名# 合并完删掉分支【五、看历史】gitlog--oneline# 看提交历史,一行一条

4. 怎么用:完整的使用流程

不用背几百条命令,先记住这条「日常循环」就够应付八成场景:

pull(先拉最新)→ 改代码 → add(把改动放进暂存区)→ commit(存快照)→ push(传上去)。

具体操作,给你一套最朴素的开局:

第一步,装好 Git,告诉它你是谁(只做一次):

gitconfig--globaluser.name"你的名字"gitconfig--globaluser.email"你的邮箱"

第二步,开始一个项目。要么克隆别人的:

gitclone https://github.com/某用户/某仓库.git

要么自己新建:

mkdirmy-project&&cdmy-projectgitinit

第三步,改完代码,按这个节奏走:

gitadd.# 先把改动 stagedgitcommit-m"写清楚这次改了啥"# 存一张快照gitpush origin main# 推到远程仓库

第四步,多人协作时,别直接在 main 上乱改。开个分支干:

gitcheckout-bfeature/login# 开个功能分支# ... 改完 ...gitpush origin feature/login# 推上去,在平台上发个 Pull/Merge Request 让同事审完合并,完事。

5. 怎么选:如何取舍

  • 个人学技术、做开源,首选 GitHub,曝光高、学得快;
  • 网络卡就换 Gitee,参与国内项目也方便;
  • 企业内部数据不出门,自建 GitLab。

六、总结

选择合适的平台,需要取决于用户的具体需求,包括但不限于地理位置、网络环境、合规要求、隐私保护、社区活跃度、服务稳定性和附加功能等。

  • GitHub:在社交和协作功能上更出色,适用于国际化的开源项目和大型企业的跨国协作。

  • GitLab:在功能和灵活性上更强大,适用于寻求一站式DevOps解决方案的大型组织和企业

  • Gitee: 在中国市场拥有天然优势,是面向国内用户的平台,访问速度相对较快,并提供了一些特色功能。

  • GitCode: 一个新兴的较为小众的平台,注重简洁和高速,目前是大文件托管的理想选择。


本文的引用仅限自我学习如有侵权,请联系作者删除。
参考知识
Git 教程
Git:GitLab 、GitHub、Gitee、GitCode的区别


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询