Git版本控制深度复盘:从入门到精通的完整指南

简介: 本文是Git知识快速复习指南,涵盖核心概念(分布式特性、与SVN对比)、工作流程(四区域、文件状态转换)、常用命令(基础/分支/远程操作)、多人协作案例、冲突解决及常见问题处理,并附思维导图助力体系化掌握。适合开发者高效回顾与实战提升。

📝 引言
之前我写过关于Git的文章
那么这篇文章,只要对于需要快速复习的读者
如果你想快速回顾和复习Git的知识点
我想这篇文章,一定能够帮助到你!
后面的思维导图对你一定有帮助
个人主页:艺杯羹
系列专栏:Git系列

1. Git核心概念回顾🎯

1.1 什么是Git?

Git是一种分布式版本控制系统,由Linus Torvalds在2005年创建
与传统的集中式版本控制系统(如SVN)不同,Git的每个工作目录都是一个完整的仓库,包含项目的完整历史记录

1.2 Git的特点

  • 分布式:每个开发者都有完整的代码仓库副本
  • 高效:本地操作速度快,网络传输少
  • 分支管理:强大的分支和合并功能
  • 数据完整性:使用SHA-1算法确保数据完整性

1.3 Git与SVN对比

特性

Git

SVN

存储方式

分布式

集中式

离线工作

支持

不支持

分支管理

强大

较弱

数据存储

快照式

差异式


2. Git工作流程详解🔄

2.1 四个工作区域

2.2 文件状态转换

状态

描述

转换方式

Untracked

未跟踪,未加入Git库

git add → Staged

Unmodified

已入库,未修改

修改 → Modified git rm → Untracked

Modified

已修改,未暂存

git add → Staged git checkout → Unmodified

Staged

已暂存,待提交

git commit → Unmodified git reset → Modified


3. 常用命令总结⚙️

3.1 基础操作命令

# 初始化仓库
git init
# 添加文件到暂存区
git add <文件名>
git add .  # 添加所有文件
# 提交更改
git commit -m "提交信息"
# 查看状态
git status
# 查看日志
git log
git log --oneline  # 简洁显示
git log --graph    # 显示分支合并图
# 比较差异
git diff          # 工作区 vs 暂存区
git diff --cached # 暂存区 vs 仓库区

3.2 分支管理命令

# 创建分支
git branch <分支名>
# 切换分支
git checkout <分支名>
# 创建并切换分支
git checkout -b <分支名>
# 合并分支
git merge <分支名>
# 删除分支
git branch -d <分支名>

3.3 远程仓库操作

# 添加远程仓库
git remote add origin <仓库地址>
# 推送本地分支到远程
git push origin <分支名>
# 拉取远程更新
git pull origin <分支名>
# 克隆仓库
git clone <仓库地址>

4. 实践案例:多人协作开发🛠️

4.1 场景描述

假设团队中有两个开发者A和B,共同开发一个项目,可能会遇到冲突问题。

4.2 操作流程

# 开发者A
git clone https://gitee.com/yibeigen.git
# 创建一个分支,并且切换到这个分支
git checkout -b feature/login
# 修改登录功能
git add .
git commit -m "实现登录功能"
git push origin feature/login
# 开发者B
git clone https://gitee.com/yibeigen.git
git checkout -b feature/register
# 修改注册功能
git add .
git commit -m "实现注册功能"
git push origin feature/register
# 合并分支
git checkout master
git merge feature/login
git merge feature/register

4.3 冲突解决

当两个开发者修改同一文件时,会出现冲突:

<<<<<<< HEAD
# 你自己写的代码
this is xiaoyi
=======
# 别人写的代码
public class HelloWorld{}
>>>>>>> 0b8b926afc79bd22d220bd0cb76ef7d97b5fb5d4

解决方法:

  1. 手动编辑文件,保留需要的代码
  2. 标记冲突已解决:git add <文件名>
  3. 提交更改:git commit -m "解决冲突"

5. 常见问题与解决方案❓

5.1 忘记添加文件到暂存区

git add .
git commit -m "补充遗漏文件"

5.2 提交信息写错

git commit --amend -m "正确的提交信息"

5.3 误删文件

git checkout -- <文件名>  # 恢复工作区文件

5.4 远程仓库连接问题

# 生成SSH密钥
ssh-keygen -t rsa
# 添加公钥到GitHub/Gitee
cat ~/.ssh/id_rsa.pub

6. 学习心得与建议💡

6.1 Git学习路径

  1. 基础命令:掌握add、commit、status等基本操作
  2. 分支管理:理解分支概念,熟练使用branch、checkout、merge
  3. 远程协作:学习push、pull、clone等远程操作
  4. 高级技巧:掌握rebase、cherry-pick等高级功能

6.2 最佳实践

  • 频繁提交:每次完成一个小功能就提交
  • 清晰的提交信息:使用有意义的提交信息
  • 分支策略:使用Git Flow等分支管理策略
  • 定期同步:及时与远程仓库同步

7. Git知识体系思维导图🧠


8. 总结📈

通过本次Git复盘,我们系统地回顾了Git的核心概念、工作流程和常用操作。Git作为版本控制工具,不仅能够帮助我们管理代码版本,还能促进团队协作。掌握Git的技能对于每个开发者来说都是至关重要的
学习建议:

  1. 多实践,多使用
  2. 理解Git的底层原理
  3. 学习团队协作的最佳实践
    希望本文能够帮助您更好地理解和应用Git,在版本控制的道路上越走越远!(* ̄︶ ̄)
目录
相关文章
|
24天前
|
SQL 人工智能 安全
Agent Harness 又要多一层?Jev 开始接管这些高频判断
Jev作为新型System One Model,专司Agent中高频、明确的判断任务(如工具路由、技能筛选、上下文过滤、安全守门与执行复核),将LLM从繁重决策中解放,推动Agent架构向“规则+决策模型+LLM+工具”多层协同演进。
|
2月前
|
关系型数据库 MySQL Linux
Linux 安装 MySQL 8 数据库(图文详细教程)
本教程手把手教你如何在 Linux 安装 MySQL 数据库。图文详细教程!
334 3
Linux 安装 MySQL 8 数据库(图文详细教程)
|
17天前
|
存储 NoSQL 安全
用 Java 接入大模型(五):多轮对话的上下文怎么管
本文深入剖析多轮对话的核心误区:大模型本身无记忆,所谓“遗忘”实为上下文管理失当。从messages结构化封装、token精准截断策略,到Redis会话存储与三步排错法,系统讲解如何可靠构建长程对话能力。
152 7
|
24天前
|
人工智能 自然语言处理 测试技术
Google 开源 ARTEMIS:AI Agent 如何接管 Android 真机测试?
Google开源的ARTEMIS是一款AI驱动的Android自动化测试框架,支持自然语言指令、跨App长流程操作、多模态控件识别(Accessibility+OCR+视觉模型),原生集成MCP协议,可无缝接入Antigravity等AI编程环境,实现“描述目标→自主规划→真机执行→结果分析”闭环,标志着移动端测试迈向AI Agent时代。
|
1月前
|
SQL Java 数据库连接
1万行插入13秒到0.9秒:ORM批量插入只差一个参数
从一次列表接口慢的排障讲起,发现2000多条一模一样的N+1查询。文章拆开ORM生成慢SQL的三类典型病:N+1懒加载、逐条批量插入(只差一个rewriteBatchedStatements参数)、隐式转换让索引白建。给出JOIN/批量IN/@BatchSize的取舍、MyBatis与JPA各自的修法,以及用performance_schema按SQL指纹抓N+1、测试环境打印真实SQL的协作办法。
|
2月前
|
人工智能 缓存 API
阿里云百炼Night Plan全解析:夜间22:00-08:00错峰AI算力2折起深度指南
阿里云百炼Night Plan是百炼平台推出的**夜间错峰专属优惠计划**,核心价值是在夜间低峰时段为用户提供旗舰模型的超低折扣调用,帮助开发者、创作者与企业大幅降低AI算力成本。该计划覆盖Qwen3.7-Max、Qwen3.7-Plus等核心模型,在每晚22:00至次日08:00(北京时间)自动生效,无需手动切换配置,即可享受最高2折的专属价格,且服务质量、响应速度与白天完全一致。Night Plan深度适配Qoder CN、秒悟Meoo等百炼生态产品,与Token Plan、Coding Plan等订阅方案无缝兼容,是平衡AI算力成本与性能的最优选择。本文将从核心定位、适用范围、计费规则、
413 4
|
15天前
|
缓存 安全 Java
JVM 类加载机制详解:双亲委派模型的原理、优势与三种打破方式
JVM 类加载机制到底怎么走?本文从生命周期七阶段讲起,把双亲委派模型的原理、优势与三种打破方式讲透,再补一张类初始化时机的主动 / 被动引用对照表。
90 4
JVM 类加载机制详解:双亲委派模型的原理、优势与三种打破方式
|
1天前
|
JSON Java Maven
响应自动序列化:JSON 响应一键转 Java 实体对象,JQuick-Curl 第三方接口调用不再手动解析
JQuick-Curl 支持响应自动序列化:JSON 响应可一键转为 Java 实体对象,告别手动解析。结合 curl 命令式调用,大幅提升第三方接口集成效率。轻量、直观、开箱即用。
|
20天前
|
人工智能 移动开发 自然语言处理
千问办公 + 百炼 + 钉钉 + 魔搭四件套:搭一个把金融 AI 讲明白的漫画工厂
金融AI内容生产新范式:以IP形象“金多多”为载体,融合千问、百炼、钉钉dws与ModelScope四件套,构建合规、可溯、一致的八格漫画流水线。术语→通俗→漫画三步转译,分钟级生成,合规自动把关,助力金融能力“被看见、被理解、被信任”。
127 1
千问办公 + 百炼 + 钉钉 + 魔搭四件套:搭一个把金融 AI 讲明白的漫画工厂
|
20天前
|
数据采集 前端开发 JavaScript
240GB流量击穿与频繁OOM:从云端瘫痪到客户端自治的本地优先架构重构实录
本文记录作者开源项目 BlogDistiller 遭遇千篇级并发冲击导致云端OOM、带宽爆仓、磁盘告急的崩溃实录,深入剖析中心化架构缺陷,最终以“本地优先薄壳混编”重构方案实现算力下沉、零打包热更新与客户端自治,完成从瘫痪到稳定、从高成本到零运维的蜕变。
172 1

热门文章

最新文章