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,在版本控制的道路上越走越远!(* ̄︶ ̄)
目录
相关文章
|
2月前
|
SQL 人工智能 安全
Agent Harness 又要多一层?Jev 开始接管这些高频判断
Jev作为新型System One Model,专司Agent中高频、明确的判断任务(如工具路由、技能筛选、上下文过滤、安全守门与执行复核),将LLM从繁重决策中解放,推动Agent架构向“规则+决策模型+LLM+工具”多层协同演进。
|
1月前
|
人工智能 自然语言处理 数据挖掘
阿里云千问办公企业版购买流程:填写组织名称、管理员手机号、企业邮箱获取组织ID,并下单全流程
千问办公(QwenWork)是阿里推出的AI智能办公平台,支持自然语言驱动的数据分析、PPT生成、视频剪辑、网页搭建等,直接输出可用成果。企业版含席位与积分包(需绑定有效席位),提供完整购买与管理流程。(239字)
203 2
|
22天前
|
人工智能 自然语言处理 API
最近全网爆火的Jev到底是什么?系统一模型原理与使用教程
综合来看,Jev给AI工程带来了新的分层思路,复杂生成任务交给传统大模型,高频简单判断交给Jev,二者组合搭建分层智能架构,兼顾输出能力、响应速度与调用成本。对于做客服系统、Agent智能体、内容审核、批量数据打标签、工单路由的开发者,值得做POC验证;但如果业务以文本生成、深度推理为主,Jev增益有限。接入前建议拿真实业务数据跑对比测试,评估准确率与误判率,同时设置合理概率阈值并配置人工兜底流程,才能充分发挥这套决策模型的价值,构建更稳定高效的AI业务系统。
370 2
|
2月前
|
人工智能 自然语言处理 测试技术
Google 开源 ARTEMIS:AI Agent 如何接管 Android 真机测试?
Google开源的ARTEMIS是一款AI驱动的Android自动化测试框架,支持自然语言指令、跨App长流程操作、多模态控件识别(Accessibility+OCR+视觉模型),原生集成MCP协议,可无缝接入Antigravity等AI编程环境,实现“描述目标→自主规划→真机执行→结果分析”闭环,标志着移动端测试迈向AI Agent时代。
|
29天前
|
Rust 测试技术 调度
Pi 的 Rust 实现来了:rpi,不止一个终端 Agent
rpi 是 Pi 的 Rust 实现,提供终端 CLI 与可嵌入库,支持模型接入、工具执行与会话管理。主打高性能(启动快、内存省)、library-first 设计,便于 Rust 应用集成 Agent 能力,已支持 15+ 原生扩展。
169 2
|
2月前
|
存储 NoSQL 安全
用 Java 接入大模型(五):多轮对话的上下文怎么管
本文深入剖析多轮对话的核心误区:大模型本身无记忆,所谓“遗忘”实为上下文管理失当。从messages结构化封装、token精准截断策略,到Redis会话存储与三步排错法,系统讲解如何可靠构建长程对话能力。
239 7
|
2月前
|
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的协作办法。
|
13天前
|
存储 安全 Linux
零基础也能轻松上手!2026阿里云服务器购买全流程教程:账号注册、配置选型、实例部署一站式详解
本篇教程将手把手带你完成从零开始购买‌阿里云服务器‌的全流程,涵盖账号注册、产品选型、配置下单、实例初始化等每一个关键环节。只要跟着操作,哪怕你完全没有任何服务器经验,也能轻松拥有一台属于自己的‌阿里云服务器‌。
139 5
|
1月前
|
缓存 安全 Java
JVM 类加载机制详解:双亲委派模型的原理、优势与三种打破方式
JVM 类加载机制到底怎么走?本文从生命周期七阶段讲起,把双亲委派模型的原理、优势与三种打破方式讲透,再补一张类初始化时机的主动 / 被动引用对照表。
144 4
JVM 类加载机制详解:双亲委派模型的原理、优势与三种打破方式
|
21天前
|
JSON Java Maven
响应自动序列化:JSON 响应一键转 Java 实体对象,JQuick-Curl 第三方接口调用不再手动解析
JQuick-Curl 支持响应自动序列化:JSON 响应可一键转为 Java 实体对象,告别手动解析。结合 curl 命令式调用,大幅提升第三方接口集成效率。轻量、直观、开箱即用。

热门文章

最新文章