news 2026/9/6 12:29:25

【版本控制必修】Git与SVN核心概念及高频指令全总结(建议收藏)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【版本控制必修】Git与SVN核心概念及高频指令全总结(建议收藏)

在软件开发中,版本控制是多人协同的基础。目前市面上最主流的版本控制系统是SVN(集中式)Git(分布式)。近期整理了关于版本控制的思维导图,本文以此为基础,提炼出最核心的概念、工作流和实战指令,助你快速通关版本控制。

一、 版本控制基础概念

1. 目的与对比

  • 目的:实现版本控制,支持多人协同开发。

  • SVN(集中式):版本库存放在中心服务器。如果断网或服务器宕机,无法提交代码,且历史记录依赖服务器。

  • Git(分布式):每个人本地都有完整的仓库。支持离线提交,分支管理能力极强,是目前绝对的主流。

2. Git 四大核心区域

理解 Git,首先要牢记四个区域:

  • 工作区 (Working Directory):我们平时写代码的目录。

  • 暂存区 (Staging Area):用于存放改变,暂存准备提交的内容。

  • 本地仓库 (Local Repository):管理仓库,存放历史版本。

  • 远程仓库 (Remote Repository):服务仓库,用于团队共享。


二、 Git 基础高频指令

掌握以下指令,就能完成日常90%以上的工作。

1. 初始化与状态查看

  • 初始化git init(将工作目录变为Git项目,生成隐藏文件.git)。

  • 查看状态git status(查看工作区与暂存区的状态)。

    • 白色:正常。

    • 红色:工作区有修改未提交。

    • 绿色:暂存区有内容没有提交。

2. 文件流转与撤销

  • 添加到暂存区git add <文件名>

  • 撤销暂存git rm --cached -r .(将暂存区内容撤销回工作区)。

  • 提交到本地仓库git commit -m "msg"(建议用一句话清晰描述修改内容)。

  • 撤销本地修改git restore <文件名>(撤销工作区未暂存的内容)。

  • 取消暂存git restore --staged <文件名>(从暂存区撤回到工作区)。

  • 版本回退git reset --hard <版本号前缀>(强制切换版本,慎用,会丢失当前工作区未提交的修改)。

3. 用户配置(非常关键)

Git 提交时必须知道是谁提交的。

  • 全局配置git config --global user.email "邮箱"git config --global user.name "名字"(适用于该电脑所有项目,配置在C:\Users\Administrator\.gitconfig)。

  • 局部配置:去掉--global,如git config user.email "邮箱"(仅针对当前项目,优先级高于全局)。


三、 分支管理(Git核心优势)

分支是Git的灵魂。从主分支上创建子分支,子分支内容来源于主分支,开发完成后,再合并回主分支。

1. 分支基本操作

  • 查看分支git branch(查看所有分支,以及当前所在分支)。

  • 创建分支git branch -c <分支名>

  • 删除分支git branch -d <分支名>

  • 创建并切换git switch -c <分支名>(推荐使用,一步到位)。

  • 切换分支git switch <分支名>

2. 分支合并

  • 合并分支git merge <目标分支名>(将指定分支合并到当前分支上)。注意:如果两个分支修改了同一文件的同一处,会产生冲突,需要手动修改后再次提交。


四、 远程仓库操作与日志

1. 与远程仓库交互

  • 查看日志git log(查看详细的提交历史记录)。

  • 拉取代码git pull(从远程仓库拉取更新到本地)。

  • 推送代码git push(将本地提交推送到远程仓库)。

2. 编辑器搭配

在实际开发中,我们通常在VSCode、IDEA等编辑器内置的Git插件中完成以上操作,这样可以通过图形化界面更直观地查看文件修改对比(Diff)和管理分支。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 12:27:05

婚姻关系修复服务机构排名

身边不少朋友和我聊起过&#xff0c;当婚姻从曾经的甜意慢慢磨得只剩相对无言、一开口就吵架的疲惫时&#xff0c;自己试了低头妥协、找亲友调解、甚至跟着网上的情感技巧操作&#xff0c;反而把矛盾激得越来越深&#xff0c;想找专业的情感支持时&#xff0c;第一反应就是搜“…

作者头像 李华
网站建设 2026/9/6 12:27:00

跨Agent会话延续:打破AI Agent供应商锁定的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 12:26:32

【Rust入门知识点学与练】第15课:泛型 Generics

引语 根据之前的课程进度&#xff0c;第15课是泛型 Generics。这是一个文本创作类任务&#xff0c;我需要按照之前课程的格式来编写泛型的教学内容&#xff0c;包括知识点讲解、代码示例和练习题。 知识点1&#xff1a;泛型函数 泛型让你写出适用于多种类型的代码&#xff0c;避…

作者头像 李华
网站建设 2026/9/6 12:22:44

矩阵拼团系统设计:先付款先排队的订单排序与自动返本算法

技术摘要 矩阵拼团通过"先付款先排队"的订单时间戳排序&#xff0c;实现消费者返本与商家快速清库存的双赢。消费者付款后按时间精确排队&#xff0c;后续订单触发前面的订单返本&#xff0c;形成"人人有回报"的机制。本文从排队算法视角&#xff0c;拆解矩…

作者头像 李华
网站建设 2026/9/6 12:22:15

RTX 4090上2小时从零训练64M中文小模型全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 12:18:03

PTP授时服务器时间溢出解析:从原理到部署排查

1. 问题背景&#xff1a;PTP授时服务器也会被“时间溢出”咬一口PTP&#xff08;Precision Time Protocol&#xff0c;精确时间协议&#xff09;这几年在广播、专业音视频、工业控制、数据采集里基本成了标配。以前大家习惯把PTP授时服务器当成“一个会输出高精度时间的黑盒子”…

作者头像 李华