一、Git 是什么?分布式对比 SVN 集中式
Git 是一款分布式版本控制系统(DVCS) ,也是当下全球最主流的代码版本管理工具,个人开发、团队协作、开源项目基本都在用。
它主要帮我们解决这些问题:代码版本回溯、多人协同开发、处理代码冲突、代码备份,轻量高效、速度快、容错性强。
而 SVN 属于集中式版本控制系统,二者最大的差异就在架构:
- ✅ SVN(集中式):强依赖一台中央服务器,所有版本历史都存在服务器上。本地只有当前最新的文件,断网的时候,不能提交代码、不能查看完整提交历史。一旦中央服务器出问题,风险很高。
- ✅ Git(分布式核心特点):没有唯一的中心节点。每一台本地电脑上,都拥有一份完整的版本仓库,包含全部提交历史。就算断网,我们照样可以正常提交、切换分支、查看历史记录;等联网之后,再和其他仓库同步变更即可。
二、Git 四大区域:工作区、暂存区、本地版本库、远程仓库
Git 的代码流转,就是在这四个区域之间来回移动,理解这一块是用好 Git 的前提:
- 工作区:就是我们电脑上实实在在写代码的项目文件夹,我们在这里增删改文件,是看得见、直接编辑的地方。
- 暂存区(Stage / Index) :一个临时过渡区域,对应
.git/index文件。作用是筛选我们想要提交的改动,不会把所有修改一股脑提交,先放到暂存区,确认无误再提交到本地仓库。 - 本地版本库 :Git 的本地核心仓库,保存在项目里的
.git文件夹中,存放着项目所有的提交历史、分支、标签信息,是本地的 "版本档案馆"。 - 远程仓库:部署在服务器上的仓库(比如 Gitee、GitHub),主要用来团队之间共享、同步代码,多人协作的枢纽。
简单流转链路:工作区修改 → 添加到暂存区 → 提交到本地版本库 → 推送到远程仓库。
三、四个高频核心命令:clone、push、pull、merge
这几个是日常开发每天都会用到的命令,搞懂作用,协作时就不容易乱:
- clone :从远程仓库复制一份完整的版本仓库到本地电脑。一般是第一次拿到新项目的时候使用,不只是单纯下载代码,会把所有提交历史、分支信息一起拉下来。
- push:把我们本地已经提交好的版本记录,上传同步到远程仓库。执行之后,团队其他成员就可以拉取到你的代码改动。
- pull:拉取远程仓库的最新代码变更,并且自动合并到你当前所在的本地分支。多人开发时,写代码前经常先 pull,保证本地代码是最新的,减少冲突。
- merge:分支合并操作,将一个分支上的所有代码变更,合并到另外一个分支上。比如开发分支写完功能,合并到主分支。
小结
Git 的核心精髓就是分布式架构 ,和 SVN 集中式有着本质区别;代码在工作区、暂存区、本地库、远程库之间流转,clone、push、pull、merge 是协同最基础的命令。
刚开始学 Git 不用死记复杂命令,先把这套底层逻辑理顺,再慢慢去练习提交、分支、解决冲突,上手会轻松很多。