零基础Git入门:Linux+Gitee实战指南

本文面向 Git 零基础新手,基于 Linux 环境 + Gitee 码云平台,从核心原理、环境搭建,到核心命令、团队协作、冲突解决全流程拆解,手把手带你掌握 Git 版本控制工具,所有操作均附实战示例与效果展示,可直接跟着操作落地。

一、Git 的核心作用

Git 是目前业界最主流的分布式版本控制系统,核心用于工程项目的代码与文件管理,无论是单人开发还是多人团队协作,都能完美适配,核心价值体现在以下 3 个方面:

  1. 多人协同开发支持多开发者同时对同一个项目进行修改、迭代,最终可以无缝合并各自的修改内容,解决了传统文件拷贝、邮件传代码的协作混乱问题。
  2. 版本回溯与管理会将项目研发的每一个迭代版本独立保存,每一个版本都有唯一的标识,你可以随时回退到任意历史版本,再也不怕改崩代码无法恢复。
  3. 多端安全存储 Git 将项目文件完整存储在三个核心位置,实现多重备份,彻底避免代码丢失风险:
    • 工作区:你本地编写、修改项目代码的文件夹
    • 本地仓库:当前电脑上完整的版本库,所有历史版本都存在这里,断网也能正常提交版本
    • 远程仓库:云端的 Git 仓库(如 Gitee、GitHub),实现多端同步、团队共享

二、Git 核心原理解析

2.1 Git 四大核心工作区域

Git 的所有操作,都是围绕四大工作区域的文件流转完成的,四个区域的定义与职责如下:

区域名称 英文标识 核心作用
工作区 Workspace 本地电脑上编写、修改项目文件的目录,就是你日常开发操作的文件夹
暂存区 Index/Stage 临时保存代码修改的区域,相当于提交前的 "草稿箱",可以分批、分类管理本次要提交的修改
本地仓库 Repository 存储在你当前电脑上的完整版本库,所有提交的历史版本、分支信息都永久保存在这里,断网也可正常使用
远程仓库 Remote 部署在云端的 Git 仓库(Gitee/GitHub 等),用于团队共享代码、多设备同步,是多人协作的核心枢纽

【图 1 Git 四大工作区域与核心指令流转示意图】

2.2 分布式版本控制的核心逻辑

和传统的集中式版本控制工具(如 SVN)不同,Git 是分布式架构,这也是它的核心优势:

  • 无中央服务器依赖:每个开发者的电脑上都有一个完整的版本库,日常开发、提交版本完全不需要联网,所有操作都在本地完成,只有和团队同步修改时才需要联网。
  • 协作逻辑简单:多人协作时,开发者 A 修改了文件,开发者 B 也修改了同一个文件,双方只需把各自的修改推送到远程仓库,再拉取对方的修改,就能互相看到并合并更新,无需依赖中央服务器统一管控。
  • 数据安全性极高:每个本地仓库都是完整的备份,即使云端远程仓库损坏,任意一个开发者的本地仓库都能恢复完整的项目与所有历史版本。

核心注意事项:多人协作时,每次提交推送前,必须先拉取远程仓库的最新内容,否则会出现推送失败,甚至引发代码冲突,这个规范会在后续协作流程中详细讲解。

三、Git 环境全流程搭建

3.1 远程仓库创建(Gitee/GitHub)

远程仓库是团队协作的云端枢纽,国内推荐使用 Gitee(码云),访问速度更快,GitHub 同理可参考操作。

3.1.1 账号注册与官网访问

Gitee 官方地址:https://gitee.com/没有账号的用户,先完成账号注册与实名认证,注册完成后登录账号,进入 Gitee 首页。

【图 2 Gitee 官网首页与登录后界面】

3.1.2 新建远程仓库
  1. 点击首页的「创建我的仓库」按钮,进入新建仓库配置页面;
  2. 填写仓库核心配置信息:
    • 仓库名称:自定义,建议使用英文、数字、下划线组合,不要用中文和特殊符号
    • 归属:选择个人账号,路径会根据仓库名称自动生成
    • 仓库介绍:简要描述仓库用途,可选填
    • 权限:开源(所有人可见)/ 私有(仅仓库成员可见),个人练习建议选私有
    • 初始化仓库:新手建议勾选,会自动生成 README、.gitignore 等基础文件
  3. 配置完成后,点击「创建」按钮,即可完成远程仓库的创建。

【图 3 Gitee 新建仓库配置页面】

【图 4 仓库创建完成后的远程仓库首页】

3.2 Git 工具安装

Git 支持 Windows、Mac、Linux 全平台,这里重点讲解 Linux 环境安装,同时补充其他平台安装方式。

3.2.1 Linux 环境安装

Debian/Ubuntu 系列系统(如 Ubuntu、Deepin),直接在终端执行以下命令:

复制代码
sudo apt-get update
sudo apt-get install git

CentOS/RHEL 系列系统,执行以下命令:

复制代码
sudo yum install git

执行命令后,终端会提示安装所需的依赖包,输入y确认安装,等待安装完成即可。

【图 5 Linux 终端 Git 安装执行过程与完成界面】

3.2.2 其他平台安装
  • Windows:前往 Git 官网(https://git-scm.com/)下载对应安装包,默认下一步安装即可,安装完成后通过 Git Bash 终端执行所有 Git 命令。
  • Mac:终端执行brew install git即可完成安装(需提前安装 Homebrew)。

安装完成后,在终端执行git --version,若输出 Git 版本号,说明安装成功。

3.3 Git 全局用户与邮箱配置

安装完成后,第一步必须配置用户名称和邮箱,这是你提交代码的身份标识,每次版本提交都会记录该信息,团队协作中用于区分不同开发者的提交。

3.3.1 执行配置命令

全局配置(对当前电脑所有 Git 仓库生效),终端执行以下两条命令:

复制代码
# 配置用户名,自定义即可,建议和Gitee账号用户名一致
git config --global user.name "你的用户名"
# 配置邮箱,建议和Gitee注册邮箱一致
git config --global user.email "你的邮箱地址"

补充说明:如果想针对单个仓库单独配置用户名和邮箱,进入对应仓库目录,去掉命令中的--global参数执行即可,优先级高于全局配置。

3.3.2 查看配置信息

执行以下命令,查看 Git 配置信息,确认用户名和邮箱配置成功:

复制代码
git config -l

【图 6 Git 用户配置与查看配置信息执行结果界面】

3.4 SSH 公钥生成与远程仓库配置

配置 SSH 公钥的核心作用,是实现本地仓库和 Gitee 远程仓库的免密通信,避免每次推送、拉取代码都要输入账号密码,是 Git 开发的标准配置。

3.4.1 生成 SSH 密钥对

终端执行以下命令,生成 RSA 加密的 SSH 密钥对,邮箱填写上一步配置的 Gitee 注册邮箱:

复制代码
ssh-keygen -t rsa -C "你的邮箱地址"

执行命令后,终端会出现三次提示,直接连续三次回车即可 ,无需设置密码,密钥对会默认生成在用户目录的~/.ssh/文件夹下。

【图 7 ssh-keygen 生成 RSA 密钥对执行过程界面】

3.4.2 将私钥添加到 ssh-agent

执行以下命令,将生成的私钥添加到 ssh-agent 中,确保本地能正常读取密钥:

复制代码
ssh-add ~/.ssh/id_rsa

【图 8 ssh-add 添加私钥到 ssh-agent 执行结果界面】

3.4.3 获取公钥内容

执行以下命令,读取公钥文件的完整内容,后续需要粘贴到 Gitee 平台:

复制代码
cat ~/.ssh/id_rsa.pub

执行后,终端会输出以ssh-rsa开头、以你的邮箱结尾的一长串字符,这就是完整的公钥内容,完整复制全部内容,不要遗漏字符、不要添加多余空格

【图 9 cat 查看公钥内容执行结果界面】

3.4.4 公钥添加到 Gitee 平台
  1. 打开 Gitee 官网,登录账号,点击右上角个人头像,进入「设置」页面;
  2. 在左侧菜单栏中,找到「SSH 公钥」选项,进入公钥配置页面;
  3. 将上一步复制的公钥内容,粘贴到「公钥」输入框中,标题自定义(比如 "个人开发电脑");
  4. 点击「确定」,完成公钥添加,可能需要验证 Gitee 账号密码。

【图 10 Gitee 账户设置中 SSH 公钥配置入口页面】

【图 11 Gitee 添加 SSH 公钥配置页面】

3.4.5 验证 SSH 连通性

终端执行以下命令,验证本地和 Gitee 的 SSH 连通性:

复制代码
ssh -T git@gitee.com

首次执行会提示确认连接,输入yes回车即可,若终端输出Hi 你的用户名! You've successfully authenticated,说明公钥配置成功,本地和 Gitee 已经可以正常通信。

【图 12 SSH 公钥验证连通性执行结果界面】

常见坑排查:若验证失败,检查公钥是否完整复制、是否粘贴了多余空格 / 换行、Gitee 邮箱是否和配置一致、密钥文件权限是否正确。

四、Git 核心命令全解析与实战

完成环境搭建后,我们进入 Git 核心命令实战,所有命令均基于实际开发场景,从本地仓库初始化,到远程仓库推送全流程覆盖。

4.1 本地 Git 环境初始化

首先,创建一个文件夹作为你的项目工作区,进入该文件夹,终端执行以下命令,初始化 Git 环境:

复制代码
# 进入你的项目文件夹
cd 你的项目文件夹路径
# 初始化Git仓库
git init

执行后,文件夹中会生成一个隐藏的.git目录,这就是你的本地仓库,所有版本历史、配置信息都存储在这里,不要手动修改、删除该目录,否则会丢失所有本地版本记录。

4.2 查看仓库状态 git status

git status是 Git 中最常用的命令,建议每次操作前后都执行一次,可以实时查看当前仓库的状态,包括:

  • 当前所在分支
  • 工作区中已修改、未暂存的文件
  • 暂存区中已暂存、未提交的文件
  • 未被 Git 跟踪的新建文件

终端直接执行命令即可:

复制代码
git status

【图 13 git status 查看空仓库状态执行结果界面】

【图 14 git status 查看包含暂存 / 未跟踪文件的仓库状态界面】

4.3 工作区文件添加到暂存区 git add

git add命令的作用,是把工作区的文件修改 / 新建文件,添加到暂存区,只有添加到暂存区的内容,才能被提交到本地仓库。

常用语法
复制代码
# 添加单个指定文件到暂存区
git add 文件名

# 添加指定文件夹到暂存区
git add 文件夹名/

# 批量添加当前目录下所有修改、新建的文件到暂存区(最常用)
git add .

# 仅添加已被Git跟踪的文件的修改,不包含新增文件
git add -u

# 添加所有变更(新增、修改、删除),等价于git add . + git add -u
git add -A

【图 15 git add . 批量添加文件到暂存区执行结果界面】

补充:若想取消某个文件的暂存,执行git rm --cached <文件名>即可,不会删除本地文件,仅从暂存区移除。

4.4 暂存区内容提交到本地仓库 git commit

git commit是 Git 的核心命令,作用是把暂存区的内容,永久提交到本地仓库,生成一个唯一的版本快照,每个提交都会生成一个唯一的commit id,用于后续版本回溯、管理。

基础语法
复制代码
# 提交暂存区内容到本地仓库,-m 后接本次提交的版本描述,必填
git commit -m "版本描述信息"

# 快捷命令:跳过git add步骤,直接提交所有已跟踪文件的修改(新增文件不生效)
git commit -am "版本描述信息"

最佳实践:版本描述一定要清晰明确,精准说明本次提交的修改内容,比如fix: 修复了用户登录接口崩溃问题feat: 新增温湿度数据采集功能,方便后续回溯版本时快速识别修改内容,团队协作中必须遵守该规范。

【图 16 git commit 提交版本到本地仓库执行过程界面】

4.5 版本历史查看 git log

git log命令用于查看本地仓库的所有提交历史,包括每个版本的commit id、提交人、提交时间、版本描述,是版本回溯的前提。

常用语法
复制代码
# 查看完整的版本历史,包含commit id、作者、时间、描述
git log

# 简洁查看版本历史,一行显示一个版本,仅展示短commit id和版本描述(最常用)
git log --oneline

# 查看版本历史,同时展示每个提交的具体代码修改内容
git log -p

# 图形化展示分支合并与版本历史
git log --graph

【图 17 git log 查看本地仓库版本历史记录界面】

4.6 版本回退 git reset

当你修改代码后发现问题,想要回退到之前的历史版本时,使用git reset命令,核心是通过commit id指定要回退的目标版本。

三种核心模式(重点区分)
模式 语法 作用 使用场景
硬重置 git reset --hard commit_id 本地仓库、暂存区、工作区全部回退到目标版本,当前未提交的修改会全部丢失 确定要放弃当前所有修改,完全回退到历史版本
软重置 git reset --soft commit_id 仅回退本地仓库,暂存区、工作区的修改全部保留 想要合并多个提交,或重新修改提交内容
混合重置 git reset --mixed commit_id 回退本地仓库和暂存区,工作区修改保留(默认模式) 想要重新整理暂存的内容,分批提交
实战示例
复制代码
# 完全回退到指定commit id的版本,慎用!
git reset --hard 6e8061f02bfd5123ee0664b15e5a177c23bfa026

【图 18 git reset --hard 版本回退执行过程与结果界面】

救命技巧:若手滑用了--hard回退错了版本,执行git reflog查看所有操作历史,找到回退前的 commit id,再次执行git reset --hard即可恢复,彻底避免代码丢失。

4.7 本地仓库与远程仓库关联

本地仓库提交版本后,想要推送到云端远程仓库,首先需要将本地仓库和远程仓库建立关联,一个本地仓库仅需执行一次关联命令即可

核心命令
复制代码
# 关联远程仓库,origin是远程仓库的默认别名,可自定义,后面接你的远程仓库SSH地址
git remote add origin 你的远程仓库SSH链接

注意:远程仓库链接建议使用 SSH 格式,不要使用 HTTPS 格式,否则无法实现免密推送。

辅助命令
复制代码
# 查看当前已关联的远程仓库地址
git remote -v

# 删除已关联的远程仓库(origin为别名)
git remote remove origin

【图 19 git remote add 关联远程仓库执行命令界面】

4.8 本地版本推送到远程仓库 git push

git push命令用于将本地仓库的版本提交,推送到已关联的远程仓库,实现云端备份和团队共享。

基础语法
复制代码
# 将本地master分支的版本,推送到远程origin仓库的master分支
git push origin master

核心规范:推送前必须先拉取远程仓库的最新代码,否则如果远程仓库有本地没有的提交,会直接推送失败,这个是新手最常遇到的问题。

【图 20 git push 推送本地版本到远程仓库执行过程界面】

推送成功后,刷新 Gitee 远程仓库页面,就能看到你提交的代码文件和版本记录。

【图 21 推送成功后 Gitee 远程仓库的文件展示页面】

4.9 远程仓库克隆到本地 git clone

当你想要把一个已有的远程仓库,完整下载到本地电脑时,使用git clone命令,适用于首次拉取项目、切换设备开发的场景。

基础语法
复制代码
# 克隆远程仓库到本地当前目录
git clone 远程仓库SSH链接

# 克隆远程仓库的指定分支到本地
git clone -b 分支名 远程仓库SSH链接

【图 22 git clone 克隆远程仓库到本地执行过程界面】

补充:通过git clone克隆的仓库,会自动关联远程仓库,无需再执行git remote add命令,直接就能拉取、推送代码。

五、Git 团队协作标准流程与冲突解决

5.1 多人协作的标准工作流

多人团队开发时,必须遵守统一的工作流程,才能避免代码冲突、版本混乱,标准流程如下:

  1. 拉取最新代码 :每次开发前,先执行git pull origin master,拉取远程仓库的最新代码,确保本地代码和云端同步;
  2. 本地开发修改:在本地完成代码编写、功能开发、自测;
  3. 提交本地版本 :开发完成后,执行git add .git commit -m "版本描述",将修改提交到本地仓库;
  4. 再次拉取最新代码 :推送前再次执行git pull,防止开发过程中其他人提交了新的代码,避免推送失败;
  5. 解决合并冲突:如果拉取时出现冲突,和团队成员协商,完成冲突解决,重新提交修改;
  6. 推送到远程仓库 :无冲突后,执行git push origin master,将本地版本推送到远程仓库,完成本次开发迭代。

5.2 合并冲突的产生与解决

5.2.1 冲突产生的原因

冲突的核心产生原因:两个开发者同时修改了同一个文件的同一行代码,或者一个开发者删除了某个文件,另一个开发者修改了该文件,Git 无法自动判断该保留哪一部分修改,就会触发合并冲突,需要人工手动解决。

最常见的场景:开发者 A 修改了 a.c 文件并推送到了远程仓库,开发者 B 在本地也修改了 a.c 文件的同一行,拉取代码时就会触发冲突。

【图 23 git pull 拉取代码时触发合并冲突的提示界面】

5.2.2 冲突的识别

触发冲突后,Git 会在冲突文件中添加冲突标记,格式如下:

复制代码
<<<<<<< HEAD
这里是你本地的代码修改内容
=======
这里是远程仓库的代码修改内容
>>>>>>> 5eb86182b94d803d214aef25bac06b7b82df2a07
  • <<<<<<< HEAD======= 之间的内容,是你本地的修改
  • =======>>>>>>> 版本号 之间的内容,是远程仓库的修改

【图 24 冲突文件中的冲突标记内容展示界面】

5.2.3 冲突解决步骤
  1. 协商确认内容:打开冲突文件,和对应的开发人员沟通,确认最终要保留的代码内容,决定保留本地修改、远程修改,还是两者都保留并整合;
  2. 删除冲突标记 :修改完成后,删除文件中所有的冲突标记(<<<<<<<=======>>>>>>>),确保代码语法正常;
  3. 重新提交修改 :冲突解决完成后,执行git add .git commit -m "fix: 解决代码合并冲突",将修改提交到本地仓库;
  4. 推送到远程仓库 :执行git push origin master,将解决冲突后的版本推送到远程仓库,冲突解决完成。

【图 25 冲突解决后重新提交并推送的执行过程界面】

冲突规避最佳实践:

  1. 开发前、推送前必须先拉取最新代码,降低冲突概率;
  2. 团队内做好分工,避免多人同时修改同一个文件的同一模块;
  3. 小步快跑,频繁提交、频繁拉取,避免一次性提交大量代码,导致冲突难以解决。

六、Git 新手常见坑与避坑指南

  1. 提交后发现版本描述写错了,怎么修改? 执行git commit --amend,可以修改最后一次提交的版本描述,也可以把当前未提交的修改合并到上一次提交中。

  2. 误删了工作区的文件,怎么恢复? 执行git checkout -- 文件名,可以从本地仓库中恢复该文件到最后一次提交的状态,前提是该文件已经被 Git 跟踪过。

  3. 有些文件不想被 Git 提交到仓库,怎么办? 在项目根目录创建.gitignore文件,在文件中写入要忽略的文件 / 文件夹路径,Git 会自动忽略这些文件,不会跟踪它们的修改。示例:

    复制代码
    # 忽略所有.o结尾的编译文件
    *.o
    # 忽略临时文件夹
    tmp/
    # 忽略日志文件
    *.log
  4. push 推送被拒绝,提示fetch first,怎么解决? 这是最常见的报错,原因是远程仓库有你本地没有的提交,先执行git pull origin master拉取最新代码,解决冲突后,再重新 push 即可。

  5. 配置了 SSH 公钥,拉取 / 推送还是提示输入密码? 大概率是你的远程仓库关联用了 HTTPS 链接,执行git remote -v查看,若地址是 https 开头,执行git remote set-url origin 你的SSH仓库链接更换为 SSH 格式即可。

七、总结

本文从 Git 核心原理出发,完整覆盖了环境搭建、核心命令、团队协作、冲突解决全流程,是一套完整的 Git 零基础入门教程,所有操作都可以直接跟着落地。

Git 是嵌入式开发者的必备工具,核心在于多练多用,熟练掌握后,无论是单人开发的版本管理,还是多人团队的协作开发,都能大幅提升效率。后续进阶可以学习 Git 分支管理、Git Flow 工作流、标签 tag 管理等内容,进一步掌握 Git 的高阶用法。

相关推荐
IMPYLH2 小时前
Linux 的 mkdir 命令
linux·运维·服务器·bash
zh_xuan2 小时前
修改远程仓库名以及和本地工程同步
git
yy_xzz2 小时前
【Linux开发】多线程并发服务器(网络编程+多线程+线程同步实现的聊天服务器和客户端)
linux·服务器·网络
电子阿板2 小时前
ubuntu虚拟机查看tusb8041扩展坞及U盘的设置方法
linux·运维·ubuntu
CoderJia程序员甲2 小时前
GitHub 热榜项目 - 日榜(2026-04-07)
ai·大模型·llm·github·ai教程
孤影过客2 小时前
Linux下的PostgreSQL集群演进指南
linux·运维·postgresql
嵌入式届的关宏峰2 小时前
RV1126开发总结
linux
雄哥0072 小时前
linux redis升级⼿册-源码部署版
linux·运维·redis
张3232 小时前
K8s 容器启动全流程:从 kubelet 到 Linux 内核
linux·kubernetes·kubelet