版本控制实战:Git 与 SVN 从零到精通

版本控制实战:Git 与 SVN 从零到精通 版本控制是每个软件开发者必须掌握的核心技能它解决了两个核心痛点代码版本回溯和多人协同开发。本篇博客带你对比学习当今最主流的两大版本控制工具Git分布式与 SVN集中式重点掌握 Git 的完整工作流。一、为什么需要版本控制1.1 两大核心目的版本控制记录文件每次变更随时可以回退到历史版本再也不怕改崩了找不回来多人协同多个开发者同时修改同一项目自动合并各自修改解决代码冲突没有版本控制的日常有了版本控制只需要一个文件每次提交自动记录变更历史。二、Git vs SVN 核心区别三、Git 四大核心概念Git的工作流围绕四个区域层层递进四、Git 安装与首次配置Git 官网GitWindows 下载安装包一路Next勾选添加到PATHLinuxsudo apt install gitMacbrew install git4.1 用户身份配置必须每次提交代码都会记录是谁提交的所以需要配置用户名和邮箱。全局用户针对电脑上所有 Git 项目配置文件位置WindowsC:\Users\Administrator\.gitconfigLinux/Mac~/.gitconfig局部用户只针对当前项目优先级 全局配置文件位置项目目录/.git/config五、Git 基础工作流本地仓库5.1 初始化仓库git init将一个普通文件夹变成Git管理的项目生成隐藏目录.git里面是Git所有数据不要手动删除。5.2 查看状态git statusGit最常用的命令随时掌握当前仓库的情况。输出信息解读5.3 提交三部曲第一步git add — 工作区 → 暂存区撤销 add从暂存区撤回到工作区第二步git commit — 暂存区 → 本地仓库第三步查看提交日志5.4 撤销本地修改工作区还没 add5.5 版本穿越git reset随时回到历史任何一个版本⚠️ 注意--hard会丢弃所有未提交的修改如果回到旧版本后想再回来用git reflog查找新版本的版本号再 reset 回去。六、分支管理Git 灵魂功能6.1 什么是分支分支就是一条独立的开发线。典型工作模式项目初始只有一条主分支master或main包含稳定可发布的代码从主分支创建子分支子分支内容完全复制自主分支在子分支上开发新功能/修复bug完全不影响主分支功能开发测试完成后合并回主分支6.2 分支常用命令⚠️合并冲突当两个分支修改了同一文件的同一行时Git无法自动合并会报 conflict。此时需要人工打开冲突文件找到标记的区域手动选择保留谁的代码改完后git add . git commit完成合并。七、远程仓库多人协作核心7.1 远程仓库选择7.2 本地仓库关联远程仓库在Gitee/GitHub创建一个空仓库后会给出关联命令7.3 多人协作典型工作流每人从master创建自己的功能分支git switch -c feature-xxx在自己分支开发频繁commit频繁push到远程自己的分支开发完成后发起 Pull Request (PR) / Merge Request (MR)请求把自己的分支合并进masterCode Review代码审查同事审查你的代码通过后合并合并后删除功能分支同步最新mastergit switch master git pull八、Git 命令全景速查九、SVN 快速入门补充SVN是集中式版本控制所有版本集中在中央服务器本地没有完整仓库。9.1 核心命令对比 Git9.2 SVN工作流与Git对比十、编辑器自带 Git 插件可视化操作除了命令行现代编辑器/IDE几乎都内置了友好的Git图形化功能不需要记命令总结版本控制不是一次性学会的需要在真实开发中不断练习。建议从今天开始你写的所有代码项目都用Git管理起来哪怕是个人学习项目。坚持几个月你就会对它烂熟于心。