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

git restore

文章目录

  • 1.简介
  • 2.格式
  • 3.选项
  • 4.示例
  • 5.注意事项
  • 参考文献

1.简介

restore 是由 git 2.23 版本引入,是一个比较新的命令,用于恢复暂存区或者工作区中的文件。

恢复工作区中的文件,也可以使用git checkout -- <file>。可见,restore 实现了 checkout 的文件恢复功能,restore 更加符合恢复语义,建议使用。

2.格式

 git restore [<options>] [--source=<tree>] [--staged] [--worktree] [--] <pathspec>…​

--表示后面的参数均不是选项。

3.选项

-W, --worktree恢复工作区指定文件,为缺省选项。
-S, --staged将暂存区指定文件回退到工作区。
-s, --source=<tree>指明要恢复的文件内容所在的 commit,branch 或 tag,缺省为 HEAD。
<pathspec>…​限制受操作影响的路径。可以是文件,也可以是目录。
-p, --patch交互式选择恢复内容(块级恢复)。

4.示例

  • 撤销工作区修改(未 add 的文件)。
# 恢复指定文件
git restore <file>...# 恢复所有修改(谨慎使用)
git restore .
  • 撤销暂存区修改(已 add 的文件)。

将暂存区的文件回退到工作区,保留工作区修改。

# 撤销指定文件
git restore --staged <file>...# 撤销所有文件
git restore --staged .
  • 将工作区和暂存区中的所有文件还原到最新的提交状态。
git restore --staged --worktree .# 或者
git restore -SW .

5.注意事项

  • 不可逆操作

恢复操作会永久丢弃未提交的修改,无法通过 Git 找回(IDE 可能有本地历史记录)。

  • 新文件处理

git restore 无法恢复未跟踪的新文件,需手动删除或使用:

git clean -fd  # 删除未跟踪文件
  • 冲突文件恢复

解决合并冲突时,使用 --ignore-unmerged 避免意外覆盖:

git restore --ignore-unmerged .

参考文献

Git - git-restore Documentation

http://www.dtcms.com/a/274543.html

相关文章:

  • Java项目中图片加载路径问题解析
  • 多线程Java
  • Leaflet面试题及答案(1-20)
  • 《汇编语言:基于X86处理器》第7章 整数运算(2)
  • Ubuntu 22.04 Server 虚拟机初始化配置与优化指南
  • 用Python制作抖音风格短视频:从图片到精美视频的完整指南
  • docker-compose安装常用中间件
  • AI产品经理面试宝典第7天:核心算法面试题-上
  • VS 按F12 提示cannot navigate to the symbol under the caret
  • JavaSE——Object
  • 【实时Linux实战系列】现有应用迁移到实时环境的步骤
  • Web安全-Linux基础-01-初识Linux
  • 进程状态 + 进程优先级切换调度-进程概念(5)
  • 小智AI模型接入MCP
  • 【C++】内联函数inline以及 C++入门(4)
  • 【Linux】C++项目分层架构:核心三层与关键辅助
  • 构建一个简单的有监督的异常点检测项目
  • 如何让FastAPI与Celery完美联姻,打造高效异步任务处理系统?
  • 灰盒级SOA测试工具Parasoft SOAtest重新定义端到端测试
  • uniapp制作一个视频播放页面
  • 软件测试之单元测试
  • 【Luogu】每日一题——Day1. P3385 【模板】负环
  • 功能测试知识总结
  • 盲超分的核心概念
  • 飞书AI,正在成为零售企业的“靠谱辅助”
  • 用 ELK+Filebeat 提高50%问题排查效率,这套方案实测有效!
  • Spring MVC中异常处理
  • Visual Studio 2022 上使用ffmpeg
  • C语言/Keil的register修饰符
  • 【Freertos实战】零基础制作基于stm32的物联网温湿度检测(教程非常简易)持续更新中.........