一、前言
在上一篇文章中,我们完成了 Git 的安装配置、基础概念理解,以及最常用的 6 条入门命令: init 、 clone 、 add 、 commit 、 status 、 log 。
但在真实开发中,我们几乎每天都会遇到这些问题:
-
提交信息写得太乱,以后根本看不懂
-
代码改崩了,想回到上一个版本
-
刚写的代码不想提交,但又要切分支
-
想快速查看谁在什么时候改了什么
本篇文件将把 Git 本地操作的核心能力 一次性讲透: 规范提交、版本回退、撤销修改、高效日志 。学完这篇,你才算真正入门 Git。
二、commit message 怎么写
很多新手提交代码时习惯这样写:
git commit -m "修改"
git commit -m "更新"
git commit -m "fix"
这种提交信息毫无意义,后期维护、回退、排查问题都会非常痛苦。
推荐通用提交规范
类型: 简短描述(不超过50字)
详细描述(可选)
常用类型:
-
feat:新增功能
-
fix:修复 bug
-
docs:仅修改文档
-
style:格式调整(不影响代码逻辑)
-
refactor:重构(既不是新增功能,也不是修复 bug)
-
test:增加测试
-
chore:构建 / 工具类修改
示例:
git commit -m "feat: 新增用户登录接口"
git commit -m "fix: 修复登录密码校验失败问题"
git commit -m "docs: 更新 README 环境配置说明"
养成规范提交习惯,是专业开发者的第一步。
三、Git 版本回退:reset
版本回退是 Git 最强大的能力之一,核心命令是:
git reset
它有三种模式, 区别非常关键 :
1.–soft 最温和:回到过去,代码保留
git reset –soft 版本号
-
版本回到指定提交
-
修改的代码还在工作区
-
代码还在暂存区
适合: 提交错了,想重新提交 。
2.–mixed 默认模式:代码保留,暂存区清空
git reset 版本号
# 等价于 git reset –mixed 版本号
-
版本回到过去
-
代码保留在工作区
-
暂存区清空
适合: 想重新 add、commit 。
3.–hard 最危险:彻底回到过去
git reset –hard 版本号
-
版本回到过去
-
工作区代码直接覆盖
-
暂存区清空
适合: 代码彻底写崩,直接放弃所有修改 。
警告: –hard 会丢失未提交代码,使用前务必确认!
四、git log 高级用法
基础 git log 信息太多、很乱,我们用更高效的方式查看:
1、一行简洁查看(最常用)
git log –oneline
效果:每条提交只占一行,版本号缩短,清晰直观。
2、带图形分支结构
git log –oneline –graph –decorate
适合查看多分支合并历史,一目了然。
3、只看最近 N 条
git log -5
只要你能看懂日志,回退版本就不会迷路。
五、撤销修改
开发中最常见的需求: 我不想提交,我想撤销 。
场景 1:只改了工作区,还没 add
# 撤销单个文件
git checkout — 文件名
# Git 2.23+ 推荐新命令
git restore 文件名
作用: 直接丢弃工作区修改 ,回到最近一次 commit。
场景 2:已经 add 到暂存区,想撤回来
git reset HEAD 文件名
# 新命令
git restore –staged 文件名
作用: 从暂存区撤回到工作区 ,代码不丢。
场景 3:已经 commit,想撤销
使用我们上面讲的:
git reset –soft 版本号
六、文件误删、误改如何恢复?
1、误删文件,想恢复
git checkout — 文件名
# 或
git restore 文件名
2、想回到某个历史版本的文件
git checkout 版本号 — 文件名
不用回退整个项目,只恢复单个文件,非常实用。
七、日常开发高频流程总结
写完代码
git add .
规范提交
git commit -m "feat: 完成XX功能"
想查看历史
git log –oneline
提交信息写错,重新提交
git reset –soft HEAD^
再重新 commit
代码彻底写崩
git reset –hard HEAD^
- HEAD^ 表示 上一个版本
- HEAD^^ 表示上上个版本
八、新手高频问题解答
1、reset 后代码不见了怎么办?
可以用 git reflog 找回所有操作记录,再恢复。
2、git checkout 和 git restore 有什么区别?
restore 是 Git 2.23 后专门用来撤销修改的命令,语义更清晰,推荐使用。
3、如何只撤销部分修改?
可以使用 git add -p 或 git checkout -p 交互式选择。
九、总结
本篇我们掌握了 Git 本地操作最核心的四大能力:
-
规范提交信息
-
三种版本回退模式
-
工作区 / 暂存区撤销修改
-
高效日志查看
掌握这些,你已经可以独立完成个人项目的版本管理,不再害怕代码改崩、提交错误。
下一篇我们将进入真正的协作环节: Git 远程仓库、push、pull、fetch、冲突解决,让你真正实现多人协同开发。



