使用git回退代码

如果你不小心使用 git commit -m 提交了代码,可以通过以下几种方式回退:

1. 使用 git reset 回退提交

软回退(推荐)- 保留工作区和暂存区的更改

bash 复制代码
git reset --soft HEAD~1

这会将最近一次提交撤销,但保留你所有的更改在暂存区中。

混合回退 - 保留工作区更改,但清空暂存区

bash 复制代码
git reset --mixed HEAD~1
# 或者简写为
git reset HEAD~1

这会撤销提交并将更改放回工作区(未暂存状态)。

硬回退 - 完全删除提交和所有更改(危险操作)

bash 复制代码
git reset --hard HEAD~1

⚠️ 警告:这将永久删除提交和所有相关更改,无法恢复。

2. 使用 git revert 创建反向提交(适用于已推送的提交)

bash 复制代码
git revert HEAD

这会创建一个新的提交来撤销上一次提交的更改,适合已经推送到远程仓库的情况。

3. 修改最后一次提交(如果尚未推送)

如果你只是想修改提交信息或添加遗漏的文件:

bash 复制代码
# 修改提交信息
git commit --amend -m "新的提交信息"

# 或者添加遗漏的文件后修改提交
git add <遗漏的文件>
git commit --amend --no-edit

如何选择合适的方法:

  • 如果提交尚未推送到远程仓库 :使用 git reset
  • 如果提交已经推送到远程仓库 :使用 git revert
  • 如果只是想修改提交信息或内容 :使用 git commit --amend

建议先使用 git log 查看提交历史,确认当前状态后再选择合适的回退方式。

相关推荐
NiKo_W1 天前
Git 多人协作(1)
git
Rhys..1 天前
Git常用命令合集
大数据·git·elasticsearch
長琹1 天前
Git版本管理工具入门及常用命令讲解---小白版
git
AL流云。1 天前
一篇了解 Git 使用方法
git
清粥油条可乐炸鸡5 天前
gitflow在公司的全流程
git
少女续续念6 天前
国产 DevOps 崛起!Gitee 领衔构建合规、高效的企业协作工具链
git·开源
少女续续念7 天前
AI 不再是 “旁观者”!Gitee MCP Server 让智能助手接管代码仓库管理
git·开源
naice7 天前
我对github的图片很不爽了,于是用AI写了一个图片预览插件
前端·javascript·git
会飞的青蛙8 天前
GIT 配置别名&脚本自动化执行
前端·git
权咚9 天前
阿权的开发经验小集
git·ios·xcode