git reset详解

打印 上一主题 下一主题

主题 1601|帖子 1601|积分 4803

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、git reset 的核心作用

用于 移动当前分支的 HEAD 指针 到指定的提交,并可选择是否修改工作区和暂存区。
⚠️ 注意:若提交已被推送到远程仓库,强制重置(--hard)后需谨慎操纵,制止影响协作。

二、三种模式对比

模式下令示例影响范围适用场景--softgit reset --soft HEAD~1仅移动 HEAD,保留修改在 暂存区修改提交信息或合并提交--mixedgit reset HEAD~1移动 HEAD,保留修改在 工作区撤销提交但保留代码修改(默认模式)--hardgit reset --hard HEAD~1移动 HEAD,丢弃所有修改彻底回退到汗青版本(慎用!) 三、详细使用场景

1. 回退到指定提交

 
  1. # 查看提交历史,获取目标 commit-hash
  2. git log --oneline
  3. # 回退到指定提交(默认 --mixed)
  4. git reset abc1234
复制代码
2. 撤销最近一次提交但保留代码

  1. git reset HEAD~1          # 或 git reset --mixed HEAD~1
复制代码
 


  • 修改会保留在工作目录,可重新编辑后提交。
3. 修改最后一次提交(不产生新提交)

  1. git add <漏掉的文件>        # 添加遗漏的修改
  2. git reset --soft HEAD~1   # 撤销提交但保留修改到暂存区
  3. git commit -m "新描述"     # 重新提交
复制代码
4. 彻底丢弃本地所有修改

  1. git reset --hard HEAD     # 丢弃所有未提交的修改(包括工作区和暂存区)
复制代码
四、关键参数详解

1. 指定回退步数



  • HEAD~1:回退 1 个提交
  • HEAD~3:回退 3 个提交
2. 回退到远程仓库状态

  1. git reset --hard origin/main  # 强制与远程 main 分支一致
复制代码
3. 回退单个文件

  1. git reset HEAD~1 -- path/to/file  # 仅回退该文件到指定版本
  2. git checkout HEAD~1 -- path/to/file  # 替代方案(保留提交历史)
复制代码
五、与 git revert 的区别

下令特点适用场景git reset删除提交汗青,改变 HEAD本地未推送的提交回退git revert生成新提交来撤销旧提交已推送提交的撤销 示例


  • 撤销已推送的提交:
    1. git revert abc123  # 生成一个反向提交
    2. git push          # 安全推送
    复制代码

 
六、风险与注意事项


  • --hard 会永世丢弃修改

    • 确保无需保留代码再使用,或提前 git stash 备份。

  • 强制推送需团队协商
    1. git reset --hard HEAD~3
    2. git push -f origin main  # 强制覆盖远程(谨慎!)
    复制代码
     
3.规复误操纵


  • 通过 git reflog 找回丢失的提交哈希
 
七、可视化示例

初始状态

  1. A <- B <- C (HEAD -> main)
复制代码
执行 git reset --soft B

  1. A <- B (HEAD -> main)
  2. # C 的修改保留在暂存区
复制代码
执行 git reset --mixed B
  1. A <- B (HEAD -> main)
  2. # C 的修改保留在工作区
复制代码
执行 git reset --hard B
  1. A <- B (HEAD -> main)
  2. # C 的修改被彻底丢弃
复制代码
八、总结下令速查

需求下令撤销提交但保留代码git reset HEAD~1修改最后一次提交git reset --soft HEAD~1彻底回退到汗青版本git reset --hard abc123撤销对单个文件的提交git reset HEAD~1 -- file.txt  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表