前言
Git 是目前全球最主流的分布式版本控制系统,不管是个人开发、团队协作、企业项目开发都必须掌握。相比于 SVN 的集中式管理,Git 速度更快、分支更灵活、离线可用、容错性更强。本文将从零梳理 Git 完整知识点,涵盖基础概念、核心命令、工作流程、分支管理、团队协作、冲突解决、面试高频点,适合零基础入门与系统复习。
一、什么是版本控制?
版本控制就是记录文件每一次修改、保存历史版本、支持回溯、支持多人协作的工具。
日常开发如果不使用版本控制,会出现这些问题:
反复备份:项目1、项目2、最终版、最终版真的改好了
误删代码无法恢复
多人改同一个文件互相覆盖
不知道谁改了、什么时候改、改了什么
版本控制工具就是为了解决以上问题而生。
二、Git 与 SVN 的核心区别
1.SVN:集中式
所有版本数据都在中央服务器
断网无法提交、无法查看历史
分支操作笨重、速度慢
2.Git:分布式
每个人本地都有完整项目仓库、完整历史版本
支持离线提交,联网后同步即可
分支轻量、切换超快、适合敏捷开发
服务器挂了也不丢代码
三、Git 四大核心区域(必考重点)
掌握 Git 首先要搞懂四个工作区域,所有命令都是围绕这四个区域流转:
工作区(Working Directory):我们肉眼看到、正在写代码的文件夹
暂存区(Stage/Index):临时存放待提交的修改,相当于“提交缓冲区”
本地仓库(Local Repository):本地 .git 文件夹,保存所有版本历史
远程仓库(Remote Repository):GitHub/Gitee/GitLab 云端仓库
代码流转顺序:工作区 → 暂存区 → 本地仓库 → 远程仓库
四、Git 初次安装与全局配置
首次使用 Git 必须配置用户名和邮箱,用于记录每一次提交者信息。
git config --global user.name "你的用户名" git config --global user.email "你的邮箱"查看配置:
git config --global --list参数解释:--global全局生效,所有Git项目共用一套配置。
五、Git 本地仓库基础操作(核心入门)
1. 初始化本地仓库
git init在当前文件夹生成隐藏 .git 目录,代表该文件夹被 Git 管理。
2. 查看文件状态
git status查看文件:未跟踪、已修改、已暂存等状态。
3. 添加到暂存区
git add 文件名 # 单个文件 git add . # 所有文件4. 提交到本地仓库
git commit -m "本次提交说明"规范:提交信息简洁清晰,说明本次改动功能/修复问题。
5. 查看提交日志
git log git log --oneline # 精简版日志六、Git 忽略文件 .gitignore
项目中有些文件不需要版本管理,比如日志、缓存、系统文件、配置隐私文件,可以通过.gitignore忽略。
常见忽略规则:
忽略单个文件:xxx.log
忽略整个文件夹:/node_modules/
忽略所有后缀文件:*.tmp
一旦被 Git 追踪过的文件,写入 ignore 也不会失效,需要先解除追踪。
七、Git 版本回退与撤销(高频实操)
1. 工作区撤销修改(未add)
git checkout -- 文件名2. 撤销暂存(已add,未commit)
git reset HEAD 文件名3. 版本回退(已commit)
git reset --hard 版本号 git reset --hard HEAD^ # 回退上一个版本注意:hard 会强制覆盖本地修改,谨慎使用。
八、Git 远程仓库操作(GitHub/Gitee)
1. 关联远程仓库
git remote add origin 远程仓库地址2. 推送代码到远程
git push -u origin main3. 拉取远程代码
git pull4. 克隆远程项目
git clone 仓库地址九、Git 分支管理(团队开发核心)
Git 最强大的功能就是轻量分支,不同功能、不同 bug 都可以新开分支开发,互不影响主代码。
1. 分支常用命令
git branch # 查看分支 git branch 分支名 # 创建分支 git checkout 分支名 # 切换分支 git checkout -b 分支名 # 创建并切换 git branch -d 分支名 # 删除分支2. 分支合并
git merge 待合并分支名流程:切换到主分支 → 合并功能分支。
十、冲突产生与解决(工作最常见)
1. 冲突原因
多人修改同一个文件的同一行代码,合并或 pull 时 Git 无法自动判断保留谁的代码,就会产生冲突。
2. 冲突解决步骤
打开冲突文件,删除冲突标记
保留最终正确代码
重新 add、commit、push
十一、企业标准分支开发流程
主流团队规范:
main/master:线上稳定代码,禁止直接提交
develop:开发主分支
feature/xxx:新功能分支
bug/xxx:bug 修复分支
开发流程:新建功能分支开发 → 提交合并到 develop → 测试通过合并到 main。
十二、Git 常用高频命令速查表
初始化:git init
暂存:git add .
提交:git commit -m ""
查看状态:git status
查看日志:git log
关联远程:git remote add origin
推送:git push
拉取:git pull
克隆:git clone
分支操作:git branch / checkout / merge
结语
Git 是所有开发者的必备技能,不需要死记硬背,只要理解四大区域流转逻辑、掌握本地提交、远程同步、分支合并、冲突解决,就能胜任 99% 的日常开发场景。本文可作为 Git 完整学习手册,随时翻看复习。