欢迎光临
我们一直在努力

Git 本地核心操作实战:Commit 规范、Reset 回退与 Restore 撤销实战详解

一、前言

在上一篇文章中,我们完成了 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、冲突解决,让你真正实现多人协同开发。

     

    赞(0)
    未经允许不得转载:171主机测评 » Git 本地核心操作实战:Commit 规范、Reset 回退与 Restore 撤销实战详解
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址