引言

很多初学者在接触 Git 和 GitLab 时会有些困惑:Git 是什么?GitHub 和 GitLab 又有什么区别?这篇文章将带你从零开始,完成第一次在 GitLab 上下载代码库和上传代码的完整流程,并顺便梳理三者的关系。

目录

引言

1. Git、GitHub 和 GitLab 的区别

1.1 Git

1.2 GitHub

1.3 GitLab

1.4 对比表

2. 第一次下载代码库

2.1 登录 GitLab

2.2 获取仓库地址

2.3 在本地克隆远程仓库代码

2.4 移动到本地工作区

2.5 创建本地分支并与远程分支关联

2.6 将远程仓库origin的远程分支拉取下来,与本地分支合并

3. 第一次上传代码

3.1 修改或新增文件

3.2 添加到暂存区

3.3 提交到本地仓库

3.4 推送到远程仓库

4. 常见问题与解决

5. 总结


1. Git、GitHub 和 GitLab 的区别

1.1 Git

  • 性质:分布式版本控制系统(工具)。

  • 作用:在本地管理代码版本,支持分支、合并、回滚等操作。

  • 特点

    • 完全可以离线使用。

    • 每个仓库都是完整的副本。

    • 只解决“代码版本管理”问题。

1.2 GitHub

  • 性质:基于 Git 的 在线代码托管平台

  • 作用:提供远程仓库托管、协作开发、代码审查、开源社区交流。

  • 特点

    • 全球最大的开源社区,很多开源项目都在 GitHub 上。

    • 提供 Pull Request、Issue、Actions(CI/CD)等功能。

    • 强调 开源协作社交化开发

1.3 GitLab

  • 性质:同样基于 Git 的 DevOps 平台

  • 作用:除了代码托管,还提供完整的 CI/CD、项目管理、自动化部署工具链。

  • 特点

    • 可以自建服务器(自托管),适合企业内部使用。

    • 功能覆盖范围更广,强调 一站式 DevOps

    • 更偏向企业级解决方案。

1.4 对比表

项目 Git GitHub GitLab
类型 工具 平台(托管服务) 平台(可托管/自建)
核心功能 版本控制 代码托管 + 协作 代码托管 + CI/CD + 项目管理
使用场景 本地代码管理 开源协作、远程仓库 企业内部协作、自动化流程
是否离线 可离线 需联网 需联网(可自建)
重点 代码版本管理 社区与开源 DevOps 全流程

📌 总结一句话:

  • Git 是工具,需要安装

  • GitHub 是全球最大的开源协作平台。

  • GitLab 是企业常用的一站式 DevOps 平台。

2. 第一次下载代码库

2.1 登录 GitLab

    打开浏览器,登录你的 GitLab 账号,进入项目页面。

2.2 获取仓库地址

    在项目页面点击 Clone 按钮,复制 HTTPS 或 SSH 地址,例如:

  •   HTTPS: https://gitlab.com/username/project.git
  •   SSH: git@gitlab.com:username/project.git

2.3 在本地克隆远程仓库代码

创建一个新的文件夹(此文件夹就是我们存放远程仓库代码的地方),输入指令:git clone 远程仓库地址,远程仓库的地址从gitlab网页获取

        bash

git clone https://gitlab.com/username/project.git
cd project //移动到本地工作区

2.4 移动到本地工作区

 移动到工作区“test123 ”中

D:\work\test_project\Git
λ cd test123\  //移动到本地工作区

D:\work\test_project\Git\test123(main -> origin) //表示本地仓库已经和远程仓库的主分支链接上了

2.5 创建本地分支并与远程分支关联

git checkout -b 本地分支名(can_app举例) origin/远程分支名

D:\work\test_project\Git\test123(main -> origin)
λ gitcheckout -b can_app origin/main
Switched to a new branch 'can_app'
branch 'can_app' set up to track 'origin/main'.
D:\work\test_project\Git\test123(can_app -> origin) //本地分支链接远程仓库

 

2.6 将远程仓库origin的远程分支拉取下来,与本地分支合并

git pull origin <远程分支名>:<本地分支名>

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

D:\work\test_project\Git\test123(can_app -> origin)
λ git pull origin main
From gitlab.xxxxxx
 * branch            main       -> FETCH_HEAD
Already up to date.

3. 第一次上传代码

3.1 修改或新增文件

在本地仓库里编辑或添加文件。

3.2 添加到暂存区

bash

D:\work\test_project\Git\test123(can_app -> origin)
λ git add .

文件添加到暂存区后,我们通过git status命令再次查看本地库的状态,此时,有些信息已经发生改变

3.3 提交到本地仓库

暂存区的所有文件传送到本地仓库并附上提交信息

bash

git commit -m "第一次提交代码"

3.4 推送到远程仓库

本地仓库所有文件都上传到远程仓库中

bash

git push origin 本地分支名:远程分支名

注意:如果默认分支是 master,就改成 git push origin master

4. 常见问题与解决

  • Already up to date 表示本地和远程分支内容一致,不需要更新。

  • 查看远程分支

    bash

    git branch -r
    

    输出中 origin/xxx 就是远程分支。

  • 推送到新分支 如果你不想覆盖远程主分支,可以用:

    bash

    git push origin can_app
    

    这样会在远程新建一个 can_app 分支。

5. 总结

  • Git 是工具,GitHub 和 GitLab 是平台。

  • 第一次使用 GitLab 的流程:克隆仓库 → 修改代码 → add → commit → push

  • 团队协作时,建议先在自己的分支开发,再合并到主分支,避免覆盖。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐