当前位置: 首页 > news >正文

Git误删急救:30秒拯救你的代码

Git误操作急救手册大纲

常见误操作场景

误删文件或代码

  • 未提交的本地修改被删除
  • 已提交的文件被误删

误提交或提交错误内容

  • 提交了敏感信息(如密码、密钥)
  • 提交了错误文件或大文件

分支操作失误

  • 误删分支(本地或远程)
  • 强制推送导致历史覆盖

撤销错误的合并或变基

  • 合并错误分支
  • 变基导致冲突或历史混乱
恢复未提交的更改

恢复工作区文件

  • 使用git checkout -- <file>恢复单个文件
  • 使用git restore <file>(Git 2.23+)

恢复暂存区的文件

  • 使用git reset HEAD <file>取消暂存
  • 结合git checkout -- <file>恢复文件内容
撤销已提交的更改

撤销最后一次提交

  • 使用git reset --soft HEAD~1保留更改
  • 使用git reset --hard HEAD~1彻底丢弃

修改最后一次提交

  • 使用git commit --amend修改提交信息或内容

回滚到特定提交

  • 使用git revert <commit-hash>生成反向提交
  • 使用git reset --hard <commit-hash>彻底回退
恢复误删的分支

恢复本地分支

  • 使用git reflog查找删除前的提交
  • 通过git checkout -b <branch> <commit-hash>重建分支

恢复远程分支

  • 从其他本地副本重新推送
  • 使用git fsck --lost-found查找悬空对象
处理敏感信息泄露

从历史记录中移除文件

  • 使用git filter-repoBFG Repo-Cleaner清理历史
  • 强制推送清理后的仓库

撤销并重新提交

  • 使用git rebase -i修改历史提交
  • 强制推送更新后的分支
预防措施

定期备份重要分支

  • 使用git bundle创建备份
  • 推送至多个远程仓库

谨慎使用强制推送

  • 避免git push --force,改用--force-with-lease
  • 团队协作时明确推送权限

使用钩子检查提交

  • 设置pre-commit检查敏感信息
  • 使用pre-push防止强制推送
高级恢复工具

使用git fsck恢复丢失对象

  • 查找悬空提交、树或 blob
  • 重新关联到分支

借助第三方工具

  • GitKraken、SourceTree 等 GUI 工具的恢复功能
  • 数据恢复软件针对.git/objects的扫描
http://www.cnnetsun.cn/news/1344349.html

相关文章:

  • PhpStorm下载、安装、配置教程
  • Redis值数据类型——sorted set
  • 双令牌机制:让认证更安全、体验更流畅
  • 互联网大厂Java面试实战:以智慧物流场景为例深入探讨Spring Boot、微服务与Redis缓存
  • Metasploitable靶机的下载与安装
  • Claude国内镜像站实测:可扩展监督与宪法AI,推理架构的范式革命
  • OpenClaw 高效配置与集成指南:从模型选择到 API 对接
  • 游戏盾终极奥义:湘情盾“源站隐身”与“报文基因”实战解析
  • Claude Code超详细完整指南附最佳实践(最新版2026年,可接入GLM)
  • 3.17打卡day31
  • KIHU快狐|带API协议户外液晶显示器支持第三方平台对接
  • 测试学习Day6——Linux和数据库(1)
  • 2026年DeepSeek写的论文AI率太高?3款降AI工具实测推荐
  • Gradle框架:现代软件构建的灵活引擎
  • 二氢视黄醛价格
  • 解决AI模型版本同步问题:架构师的3套方案
  • 大模型如何赋能RAG?深度解析大模型原理与选择策略!
  • 基于SwanLinkOS/OpenHarmony操作系统设计的智慧工厂项目(二)项目环境的搭建
  • AI赋能嵌入式研发:效率革命与智能升级
  • 2026年制作文旅宣传图,搜索关键词比找对网站更关键
  • 欧意下载okxz.run复制打开 下载教程2026最新
  • QT信号与槽机制全解析
  • 使用Jsoup爬取豆瓣电影Top250(附Java代码)
  • 在WebFuture里如何自动处理二维码问题脚本
  • 11-AI基础概念入门
  • django flask+uniapp 酒店管理系统设计 小程序_54ybz
  • 如何解决嵌套在公众号里面的H5页面有缓存的问题。公众号菜单的H5的域名不希望加版本号去修改
  • DataTable学习路线
  • 芯片解密多少钱,单片机解密价格详细解析
  • 2026必备!全行业通用降AI率平台 千笔·降AIGC助手 VS 万方智搜AI