Git 之 恢复修改的文件

对于恢复修改的文件,就是将文件从仓库中拉到本地工作区,即 仓库区 ----> 暂存区 ----> 工作区。

对于修改的文件有两种情况:

  • 只是修改了文件,没有任何 git 操作
  • 修改了文件,并提交到暂存区(即编辑之后,gitadd但没有 git commit -m …)
  • 修改了文件,并提交到仓库区(即编辑之后,gitadd和 git commit -m …)

情况I:
只是修改了文件,没有任何 git 操作,直接一个命令就可回退:

$ git checkout -- aaa.txt # aaa.txt为文件名

情况II:

修改了文件,并提交到暂存区(即编辑之后,gitadd但没有 git commit -m …)

$ git log --oneline    # 可以省略
$ git reset HEAD    # 回退到当前版本
$ git checkout -- aaa.txt    # aaa.txt为文件名

情况III:

修改了文件,并提交到仓库区(即编辑之后,gitadd和 git commit -m …)

$ git log --oneline    # 可以省略
$ git reset HEAD^    # 回退到上一个版本
$ git checkout -- aaa.txt    # aaa.txt为文件名

【注1】情况II 和 情况III 只有回退的版本不一样,

对于 情况II,并没有 $ git commit,仓库版本也就不会更新和记录,所以回退的是当前版本

对于情况III,一旦 $ git commit,仓库版本就会更新并记录,所以要回退的也就是上一个版本

【注2】$ git reset 版本号 ---- 将暂缓区回退到指定版本

根据 $ git log --oneline 显示的版本号(下图黄色的字),可以回退到任何一个版本,也可通过 HEAD 来指定版本(下图红色的字)。

以旧图举例:

Git之恢复修改的文件相关推荐

  1. git恢复修改的文件

    只是修改了文件,没有任何 git 操作,直接一个命令就可回退: $ git checkout -- aaa.txt # aaa.txt为文件名 修改了文件,并提交到暂存区(即编辑之后,gitadd但没 ...

  2. git查看提交修改的文件列表

    1.查看最后一次提交记录的修改文件信息 git show --raw 2.查看指定commit id对应修改文件列表 git show --raw commit_id git show --raw 2 ...

  3. 【Git】Git获取Commit修改文件列表

    Git获取Commit修改文件列表 获得Git本次Commit修改的文件 #!/bin/bash# 命令格式 # 会列出compare2与compare1的不同. # git diff --name- ...

  4. 【linux】【git】自动提取git两次提交中被修改的文件

    文章目录 0. env 1.前言 功能 2.源码步骤 3.脚本下载 附录-脚本源码 0. env git2.17.1 ubuntu-1804 1.前言 个人自用脚本,看不懂的请不要用,慎用!!! 个人 ...

  5. git 撤销对工作区中文件的修改

    对工作区中文件的修改分为三种情况: (1)修改,但没有用git add将修改添加到暂存区: (2)修改,已经使用git add将修改添加到暂存区: (3)修改,已经使用git add将修改添加到暂存区 ...

  6. git add 所有修改文件_Git管理修改、撤销和删除文件

    备注: 知识点 管理修改 撤销修改 没有`git add`添加到暂存区时的撤销 `git add`添加到暂存区后的撤销 git commit提交后的撤销 删除文件 确定从版本库中删除文件 从暂存区把误 ...

  7. git add 所有修改文件_Git 技术干货!工作中quot;Gitquot;的使用实践和常用命令合集!

    作者:洋仔聊编程 出自:InfoQ 写作平台 原文:xie.infoq.cn/article/1ce91dc60431b1b8845729d41 工作中git是一项必不可少的技能,在项目的开发进程中起 ...

  8. git之恢复误删的本地文件

    基础知识 git restore <file> :将不在暂存区的文件撤销更改 (即: git status 提示的 被修改 但 未被加入暂存区的内容,会被撤销) git restore - ...

  9. linux git 修改文件,关于linux:Git删除所有未修改的文件

    我在Linux平台的项目中使用git. 我在特定目录中有很多文件. 我在该目录中修改了上面的约50个文件,但未暂存并提交它. 我要从该目录删除所有其他未修改的文件吗? 有没有办法使用git和Linux ...

最新文章

  1. php5.6.14,PHP 5.5.30/5.6.14 发布下载,安全修复版本
  2. redis的数据类型及设置方法
  3. 计算机等级考试java题型_计算机等级考试报考建议
  4. 将张量用图像表示出来,取张量的某几维度然后展示为图像
  5. java求1到20的阶乘
  6. 计算机永远无法超越人类——从李世石与阿尔法的人机大战中想到的
  7. Unity资源热更-Addressables总结(一)
  8. 爬虫---高性能爬虫
  9. win2008r2 64位解决Infragistics.NetAdvantage 安装时总是提示%SystemDriver%inetpub\wwwroot错误的方法
  10. MeterSphere开源持续测试平台携手柠檬班,为提升软件测试行业整体效率添砖加瓦
  11. java的时间日期类_Java基础学习:日期时间类
  12. 如何判断手机浏览器是否有安全隐患?
  13. 解决vps上的ssh掉线------tmux
  14. 自学前端需要达到什么水平才能找到工作?
  15. kettle工具下载、安装、数据迁移、定时任务详解
  16. 记录ORBSLAM2稠密点云在线搭建过程(虽然我的目标是二维,方便之后导航用)
  17. 运营级手机直播平台源码 短视频直播带货APP源码
  18. 视频文件大小码率计算方法
  19. 英国豪迈收购Static Systems,大力推进医疗市场
  20. 腾讯soso,请停止你们的流氓蜘蛛爬虫

热门文章

  1. html页面执行sql语句,关于在页面上执行sql语句
  2. 问题 A: 【二维数组】计算三阶行列式的值
  3. htcvr设备计算机配置,HTC VIVE需要怎样的电脑配置
  4. 未来已来,新技术如何推动商用车行业转型
  5. Encountered end of file
  6. 不忍舍弃的回忆——我的大学时代
  7. Android键盘操作的函数:onKeyDown, onKeyUp, on, onKeyMultiple
  8. 惊天大突破!「我国数学家证明 NP=P」!道翰天琼认知智能机器人平台API接口大脑为您揭秘。
  9. linux mint软件包,在Linux Mint上安装R软件包的问题18.1
  10. ZYNQ - 无DDR固化程序(代码运行在OCM上)