前言
- 本文定位:新手能看懂、老手能参考,拒绝晦涩,聚焦实用
- 阅读收获:掌握Git核心操作、避开常见坑,能独立完成日常代码版本管理
一、Git基础认知
1.1 什么是Git?
- 简单定义:分布式版本控制系统
- 核心作用:追踪代码变化、回滚错误版本、多人协作不冲突、备份代码
1.2 Git核心概念(必会)
- 三大区域:工作区、暂存区、版本库
- 核心术语:提交(commit)、分支(branch)、合并(merge)、远程仓库(remote)
- git本质上就是多人协作代码同步工具,会用就行了,大致可以分为本地区域和远程区域
- 有点类似写文档,在工作区写的东西是没有保存的,这里的保存是指没有被git保存,通过 git add 和 git commit 可以把工作区的代码保存到git中,给他打上一个入库的记录,然后就可以通过这个记录随时恢复到这个状态
- git的保存是重中之重,比如在拉取远程新代码的时候一定要保存,否则这个代码不会保存到本地的git中,再或者合并冲突后一定要保存,不然冲突就白合并了,相当于word写了一大堆然后突然公司电脑断电了,想想就很崩溃了哈哈哈
二、Git核心操作
2.1 本地仓库基础操作(单人开发必备)
- 初始化仓库:git init(说明作用,创建本地仓库)
- 查看状态:git status(最常用命令,解释输出结果含义)
- 添加文件:git add(单个文件/全部文件,git add . 的用法)
- 提交代码:git commit(-m 参数的重要性,提交信息怎么写才规范)
- 查看提交记录:git log(简化显示 git log --oneline,解释输出含义)
- 版本回滚:git reset(两种常用模式:--soft / --hard,说明区别,避坑提醒)
2.2 分支操作(多人协作核心)
为什么会存在分支这么折磨人的东西呢?
那是因为我们不论从服务器拉取代码还是要从本地向服务器推送代码都是要对最新的代码做一个修改,所以我们本地上一般存在两个分支,一个是master分支,一个是dev分支,master分支的作用就是实时的同步服务器的最新代码,dev分支用来开发自己的程序
- 查看分支:git branch(区分本地/远程分支)
- 创建分支:git branch [分支名](比如dev分支,用于开发)
- 切换分支:git checkout [分支名] / git switch [分支名](两种方式,推荐switch更直观)
- 创建并切换分支:git checkout -b [分支名](快捷操作)
- 合并分支:git merge [分支名](比如将dev分支合并到main/master分支,解释合并逻辑)
- 删除分支:git branch -d [分支名](注意:已合并分支才能删除,未合并用-D强制删除)
2.3 远程仓库操作(连接GitHub/Gitee,多人协作)
坑点:注意本地分支名和远程分支名要保持一致才能连接上
- 关联远程仓库:git remote add origin [远程仓库地址](解释origin含义)
- 拉取远程代码:git pull origin [分支名](首次拉取、日常同步代码)
- 推送本地代码:git push origin [分支名](首次推送用 -u 参数,后续可省略)
- 克隆远程仓库:git clone [远程仓库地址](从零开始获取项目代码)
- 查看远程仓库信息:git remote -v(验证关联是否成功)
三、Git实战场景(解决实际问题,提升实用性)
3.1 单人开发场景
- 日常开发流程:创建分支→开发→add→commit→合并到主分支→推送远程
- 误操作解决:比如提交错信息(git commit --amend)、误删文件(git checkout -- 文件名)
3.2 多人协作场景
- 协作流程:克隆仓库→创建自己的开发分支→开发完成推送→提交合并请求(PR/MR)
- 冲突解决:为什么会冲突、如何查看冲突、手动解决冲突的步骤(附示例)
- 规范建议:分支命名规范、提交信息规范、避免直接操作主分支
3.3 常用场景补充
- 忽略文件:.gitignore 文件的作用、常见忽略内容(比如依赖文件夹、日志文件)
- 查看文件修改:git diff(查看工作区与暂存区、暂存区与版本库的差异)
四、Git常见坑与避坑技巧
- 坑1:提交后发现漏文件,如何补充提交?(git add + git commit --amend)
- 坑2:分支合并冲突,越改越乱怎么办?(先拉取远程最新代码,再手动解决冲突)
- 坑3:误删本地分支/代码,如何恢复?(利用git reflog 查找历史提交,再回滚)
- 坑4:推送失败,提示“rejected”?(先pull同步远程代码,再push)
- 技巧:常用命令别名设置(比如git st = git status,提高效率)
五、Git进阶补充
- Git stash:临时保存工作区内容(比如中途需要切换分支,未完成代码不想提交)
- Git tag:版本标签(用于发布版本,比如v1.0.0)
- 常用工具推荐:Git GUI(比如SourceTree、GitKraken),适合不喜欢命令行的同学
结尾(总结)
- 核心总结:Git的核心是“版本控制”和“分支协作”,多练多实操就能熟练
- 了解流程就行,代码可以用到再查
- 学习建议:不要死记命令,结合场景练习,遇到问题多查官方文档
- 互动引导:欢迎评论区分享你的Git使用心得、遇到的坑,一起交流进步