Git 从入门到精通教程

目录

[一、Git 核心认知](#一、Git 核心认知)

[1.1 什么是 Git?](#1.1 什么是 Git?)

[1.2 版本控制分类](#1.2 版本控制分类)

[1.3 Git 与代码托管平台](#1.3 Git 与代码托管平台)

[1.4 Git 核心工作流程](#1.4 Git 核心工作流程)

核心术语解释

[二、Git 环境准备](#二、Git 环境准备)

[2.1 Git 安装(Windows 版)](#2.1 Git 安装(Windows 版))

[2.2 IDEA 配置 Git](#2.2 IDEA 配置 Git)

[2.3 Gitee 准备](#2.3 Gitee 准备)

[2.3.1 注册账号](#2.3.1 注册账号)

[2.3.2 创建远程仓库](#2.3.2 创建远程仓库)

三、项目发布(本地→远程)

[3.1 初始化本地项目](#3.1 初始化本地项目)

[3.2 初始化本地 Git 仓库](#3.2 初始化本地 Git 仓库)

[3.3 代码添加到暂存区](#3.3 代码添加到暂存区)

[3.4 提交到本地仓库](#3.4 提交到本地仓库)

[3.5 推送到远程仓库](#3.5 推送到远程仓库)

四、克隆项目(远程→本地)

[4.1 准备工作](#4.1 准备工作)

[4.2 克隆操作](#4.2 克隆操作)

五、代码提交与更新

[5.1 本地代码提交(修改后)](#5.1 本地代码提交(修改后))

[5.2 拉取远程最新代码](#5.2 拉取远程最新代码)

[5.2.1 模拟场景](#5.2.1 模拟场景)

[5.2.2 拉取操作](#5.2.2 拉取操作)

六、冲突解决(核心重点)

[6.1 模拟冲突场景](#6.1 模拟冲突场景)

[6.2 冲突触发与处理](#6.2 冲突触发与处理)

[6.3 冲突预防原则](#6.3 冲突预防原则)

七、分支使用(多人协作必备)

[7.1 分支的意义](#7.1 分支的意义)

[7.2 创建分支](#7.2 创建分支)

[7.3 分支开发与合并](#7.3 分支开发与合并)

[7.3.1 分支开发](#7.3.1 分支开发)

[7.3.2 分支合并(以合并到 master 为例)](#7.3.2 分支合并(以合并到 master 为例))

八、历史记录与版本回退

[8.1 查看提交历史](#8.1 查看提交历史)

[8.2 版本回退(误操作恢复)](#8.2 版本回退(误操作恢复))

总结


一、Git 核心认知

1.1 什么是 Git?

Git 是一款开源的分布式版本控制系统,由 Linus Torvalds 为管理 Linux 内核开发而打造,能够高效、高速地处理从小型到超大型项目的版本管理工作。

1.2 版本控制分类

类型 核心特点 代表产品 优缺点
集中式版本控制 所有版本数据存储在服务器,需联网同步 / 提交 SVN、CVS、VSS 优点:服务器统一管理;缺点:断网不可用、服务器故障易丢数据
分布式版本控制 全量版本数据同步到本地,支持离线提交 Git 优点:离线可用、数据冗余备份;缺点:本地占用存储空间略大

1.3 Git 与代码托管平台

1.4 Git 核心工作流程

  1. 从远程仓库Clone资源到本地仓库
  2. 从本地仓库checkout代码到工作区
  3. 工作区代码add到暂存区
  4. 暂存区代码commit到本地仓库
  5. 本地仓库代码push到远程仓库
核心术语解释
  • 工作区:项目所在的本地文件夹
  • 暂存区:临时存放待提交的修改(过渡区)
  • 本地仓库:本地存储版本历史的 Git 仓库
  • 远程仓库:云端 / 服务器端的 Git 仓库(如 Gitee/GitHub)

二、Git 环境准备

2.1 Git 安装(Windows 版)

  1. 下载地址:https://git-scm.com/downloads,选择 Windows 系统自动下载
  2. 安装步骤:
    • 双击安装包,选择安装路径(建议非中文路径)
    • 组件选择:默认勾选Git Bash Here(命令行)、Git GUI Here(图形界面)
    • 开始菜单:可默认或勾选Don't create a Start Menu folder
    • 编辑器:选择 Git 默认编辑器
    • 路径配置:勾选Use Git from Git Bash only,后续 4 步直接点 Next
    • 安装完成:取消两个勾选,点击 Finish

2.2 IDEA 配置 Git

  1. 打开 IDEA,进入File → Settings → Version Control → Git
  2. 选择 Git 可执行文件路径(如D:\Git\bin\git.exe
  3. 点击Test,弹出 Git 版本提示即配置成功

2.3 Gitee 准备

2.3.1 注册账号

访问https://gitee.com/完成账号注册(需手机号 / 邮箱验证)。

2.3.2 创建远程仓库
  1. 登录 Gitee,点击右上角+号 → 新建仓库
  2. 填写仓库信息:
    • 仓库名称:自定义(如 git_demo)
    • 仓库类型:公开(私有需付费)
    • 其他:可勾选使用README文件初始化仓库
  3. 点击创建,生成远程仓库地址(后续推送 / 克隆需用)

三、项目发布(本地→远程)

3.1 初始化本地项目

  1. IDEA 中创建空工程(如 git_project)
  2. 创建模块(注意:Git 会忽略空文件夹,可在模块中新建文件)

3.2 初始化本地 Git 仓库

  1. IDEA 中点击VCS → Import into Version Control → Create Git Repository
  2. 选择项目根目录,点击 OK(生成.git隐藏目录,包含暂存区 + 本地仓库,切勿删除)
  3. 初始化后项目文件变红(IDEA 中 Git 标识:红色 = 未 add)

3.3 代码添加到暂存区

右键项目 → Git → Add,文件颜色变为绿色(绿色 = 已 add 到暂存区)

3.4 提交到本地仓库

  1. 右键项目 → Git → Commit Directory

  2. 填写提交注释(必填,描述本次修改内容,如 "初始化项目")

  3. 首次提交需配置用户名 / 邮箱:

    复制代码
    # Git Bash中执行(也可IDEA终端)
    git config --global user.name "你的用户名"
    git config --global user.email "你的邮箱"
  4. 点击Commit完成本地提交

3.5 推送到远程仓库

  1. IDEA 中点击VCS → Git → Push
  2. 点击Define remote,粘贴 Gitee 仓库地址(如https://gitee.com/xxx/git_demo.git
  3. 点击Push,输入 Gitee 账号密码,完成推送
  4. 验证:打开 Gitee 仓库页面,可看到推送的项目文件

四、克隆项目(远程→本地)

4.1 准备工作

删除本地已有的目标工程(如 git_project)

4.2 克隆操作

  1. IDEA 中点击VCS → Get from Version Control
  2. 粘贴 Gitee 仓库地址到 URL 栏
  3. 选择本地存储路径,点击Clone
  4. 克隆完成后,选择This Window导入项目

五、代码提交与更新

5.1 本地代码提交(修改后)

  1. 修改项目文件(如新增 / 修改 Java 类)
  2. 右键修改的文件 → Git → Commit File
  3. 填写提交注释,点击Commit完成本地提交
  4. 推送至远程:右键文件 → Git → Push,确认后完成推送

5.2 拉取远程最新代码

5.2.1 模拟场景

其他同事修改代码并推送至 Gitee 远程仓库

5.2.2 拉取操作
  1. 右键项目 → Git → Pull
  2. 等待拉取完成,本地代码自动同步为远程最新版本

六、冲突解决(核心重点)

6.1 模拟冲突场景

  1. 远程仓库:直接在 Gitee 上修改某文件(如Test.java)并保存
  2. 本地仓库:修改同一个文件的同一行代码,未拉取直接提交

6.2 冲突触发与处理

  1. 执行 Push 时,IDEA 提示冲突,选择Merge(合并)
  2. 冲突面板中选择Merge(手动合并,避免覆盖)
  3. 手动合并步骤:
    • 冲突文件中会显示<<<<<<< HEAD(本地代码)、=======(分隔符)、>>>>>>> 分支名(远程代码)
    • 保留需要的代码,删除冲突标记(<<<<<<<、=======、>>>>>>>)
    • 确认合并后,重新Add → Commit → Push

6.3 冲突预防原则

  1. 每日开发前必拉取(Pull)最新代码
  2. 小步提交:完成一个小功能 / 修改就提交,避免大量代码堆积
  3. 多人协作时,尽量避免同时修改同一文件的同一部分

七、分支使用(多人协作必备)

7.1 分支的意义

  • 隔离开发任务:每个功能 / BUG 修复单独创建分支,不影响主线(master/main)
  • 风险可控:分支开发失败可直接删除,不影响主分支

7.2 创建分支

  1. 右键项目 → Git → New Branch
  2. 输入分支名称(如 dev_功能名),点击Create(本地创建分支)
  3. 推送分支到远程:VCS → Git → Push,选择新建的分支,完成推送

7.3 分支开发与合并

7.3.1 分支开发
  1. 切换到新建分支(IDEA 右下角可切换分支)
  2. 在分支上开发新功能,完成后Commit → Push到远程分支
7.3.2 分支合并(以合并到 master 为例)
  1. 切换到 master 分支:IDEA 右下角 → 选择 master → Checkout
  2. 右键项目 → Git → Merge
  3. 选择要合并的分支(如 dev_功能名),点击Merge
  4. 合并完成后,将 master 分支Push到远程,完成主线更新

八、历史记录与版本回退

8.1 查看提交历史

  1. 右键目标文件 → Git → Show History
  2. 左侧:提交记录列表(包含提交人、时间、注释)
  3. 右侧:每次提交的代码变更详情

8.2 版本回退(误操作恢复)

  1. 在历史记录中选择要回退的版本
  2. 点击Get,IDEA 会将当前文件恢复为该版本的内容
  3. 确认后重新提交,完成回退

总结

本文覆盖了 Git 核心概念、环境搭建、IDEA+Gitee 实战全流程(发布、克隆、提交、更新、冲突解决、分支、版本回退),掌握这些内容足以应对日常开发中的 Git 使用场景。核心记住:分布式版本控制的核心是本地仓库与远程仓库的同步,分支隔离开发,小步提交防冲突

相关推荐
程序员夏末2 小时前
【开源经历 | 第一篇】参与开源需要掌握的Git和Github指令
git·开源
SNOWPIAOP3 小时前
git status 出现中文乱码的解决方案等
git·乱码·postgres
qq_4352879214 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
AIMath~21 小时前
Git 子模块(Submodule)目录结构清除实战复盘
git
切糕师学AI21 小时前
Ubuntu 下 Git 完全使用指南
linux·git·ubuntu
一袋米扛几楼981 天前
【Git】规范化协作:详解 GitHub 工作流中的 Issue、Branch 与 Pull Request 最佳实践
前端·git·github·issue
尘埃落定wf1 天前
# GitHub CLI:告别繁琐的 Git 命令,让开发更高效
git·github
恋喵大鲤鱼1 天前
git clone
git·git clone
金牛IT1 天前
Gogs 轻量级 Git 服务器搭建与使用
运维·服务器·git