#前提:删除前,文件存在是的状态提交到了本地库
#操作: git reset --hard 指针位置
    删除操作已近提交到本地库:指针指向历史记录
     linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work
$ cd Test/ linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ vim aaa.txt linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ git add aaa.txt
warning: LF will be replaced by CRLF in aaa.txt.
The file will have its original line endings in your working directory linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ git commit -m "new txt" aaa.txt
warning: LF will be replaced by CRLF in aaa.txt.
The file will have its original line endings in your working directory
[master 5723a86] new txt
file changed, insertions(+)
create mode aaa.txt linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ git status
On branch master
nothing to commit, working tree clean linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ rm aaa.txt linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ ll
total
-rw-r--r-- 1 linxianli 1049089 125 四月 25 16:32 good.txt linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ git status
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory) deleted: aaa.txt no changes added to commit (use "git add" and/or "git commit -a") linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ git refloog
git: 'refloog' is not a git command. See 'git --help'. The most similar command is
reflog linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ git reflog
5723a86 (HEAD -> master) HEAD@{}: commit: new txt
c37331e HEAD@{}: reset: moving to HEAD
c37331e HEAD@{}: reset: moving to c37331e
c37331e HEAD@{}: reset: moving to c37331e
dbc8b46 HEAD@{}: reset: moving to HEAD^
c37331e HEAD@{}: reset: moving to c37331e
ea4d3ce HEAD@{}: commit:
c37331e HEAD@{}: commit:
dbc8b46 HEAD@{}: commit:
719c75a HEAD@{}: commit:
ca821b6 HEAD@{}: commit:
060a421 HEAD@{}: commit:
8d1f64d HEAD@{}: commit:
de0c64e HEAD@{}: commit:
9718c85 HEAD@{}: commit: second commit,modify
14e7a11 HEAD@{}: commit (initial): first commit linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ git reset --hard ^C linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ git reset --hard 5723a86
HEAD is now at 5723a86 new txt linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ ll
total
-rw-r--r-- 1 linxianli 1049089 12 四月 26 11:42 aaa.txt
-rw-r--r-- 1 linxianli 1049089 125 四月 25 16:32 good.txt linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$

比较文件差异:

    git diff [文件名]

      将工作区的文件和暂存区的文件进行比较

      git diff [本地库中的历史版本] [文件名]

       将工作区中的文件和本地库的历史记录进行比较

     git diff

       不带文件名就是比较多个文件

linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ vim good.txt linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ git diff
diff --git a/good.txt b/good.txt
index 5e87980..69eb60a
--- a/good.txt
+++ b/good.txt
@@ -, +, @@ ijfksdahkfh
kjlhkjhkjs
dsaklfhkjla
sdfsfsfsdfdsf
+ABC linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$ git diff HEAD
diff --git a/aaa.txt b/aaa.txt
index 051eb5a..f2be101
--- a/aaa.txt
+++ b/aaa.txt
@@ -, +, @@
aa a
bbbb
+vvvvv
diff --git a/good.txt b/good.txt
index 5e87980..69eb60a
--- a/good.txt
+++ b/good.txt
@@ -, +, @@ ijfksdahkfh
kjlhkjhkjs
dsaklfhkjla
sdfsfsfsdfdsf
+ABC linxianli@VM-QS- MINGW64 /c/LXL Working-Place/Git-Work/Test (master)
$

Git-删除文件后找回-比较文件差异的更多相关文章

  1. 【Git的基本操作四】永久删除文件后找回

    永久删除文件后找回 1. 已经添加到本地库的文件 使用 reset 命令回退到未删除的历史记录即可 2.添加到缓存区,没有提交到本地库的文件找回 git reset --hard HEAD 命令即可找 ...

  2. VS2010 打包生成exe文件后 执行安装文件出现 TODO:&lt;文件说明&gt;已停止工作并已关闭

    一.VS2010 打包生成exe文件后  执行安装文件出现  TODO:<文件说明>已停止工作并已关闭 TODO: <文件说明>已停止工作 原因: 打包的时候在文件系统中建立了 ...

  3. git删除已经push的远程文件或文件夹

    在使用git提交项目时,有时候会误提交一下文件,比如:*.iml,*.project,*.settings,.idea/*等文件,有时候这些不需要提交的文件可以加入到.gitignore,在提交的时候 ...

  4. Oracle 删除数据后释放数据文件所占磁盘空间

    测试的时候向数据库中插入了大量的数据,测试完成后删除了测试用户以及其全部数据,但是数据文件却没有缩小.经查阅资料之后发现这是 Oracle “高水位”所致,那么怎么把这些数据文件的大小降下来呢?解决办 ...

  5. git删除未被追踪的文件

    # 先看看会删掉哪些文件,防止重要文件被误删 git clean -n # 删除 untracked files git clean -f # 连 untracked 的目录也一起删掉 git cle ...

  6. intellij idea svn 修改文件后,父文件夹也标注修改

    svn文件修改后,默认只有当前文件更改而父文件没有标注,很不直观:查了一顿后,发现,可以设置: File—->settings—->version control—–>勾选show ...

  7. (转)intellij idea svn 修改文件后,父文件夹也标注修改

    svn文件修改后,默认只有当前文件更改而父文件没有标注,很不直观:查了一顿后,发现,可以设置: File—->settings—->version control—–>勾选show ...

  8. git删除远程仓库中的文件夹

    具体操作如下: git rm -r --cached .history    #删除目录 git commit -m”删除.history文件夹” git push -r表示递归所有子目录,如果你要删 ...

  9. 关于UltraISO打开iso文件后只有部分文件问题

    背景:在安装CentOS 7的时候,用UltraISO打开之后,只有一个EFI文件,刻完U盘,却无法引导. 之前还以为偶没下载全,就又下了一遍,还好偶搞得的NetInstall,要不然就呵呵了. 解决 ...

随机推荐

  1. mysql安装问题(一)

    mysql安装问题 mysql安装一直未响应 问题: 原因: 解决方案: 登录mysql时提示密码错误 问题: 解决方案: mysql安装问题 Author:母虎忠 日期:April 26, 2019 ...

  2. Identity Server 4 预备知识 -- OAuth 2.0 简介

    OAuth 2.0 简介 OAuth有一些定义: OAuth 2.0是一个委托协议, 它可以让那些控制资源的人允许某个应用以代表他们来访问他们控制的资源, 注意是代表这些人, 而不是假冒或模仿这些人. ...

  3. Linux维护之nginx宕机,端口被占用

    1.重启时错误如下 2.端口被占用,执行如下命令 [root@hwc]fuser -k /tcp 3.重启nginx服务 4.显示重启成功. 查看被占用的端口情况   netstat -tln | g ...

  4. 【重学计算机】计组D2章:数据表示

    1.基本概念 真值:+0101,-0100:机器数: [x]原=0101 2.几种机器数 原码:x = -0101,[x]原 = 1101 反码:x = -0101,[x]反 = 1010 补码:x ...

  5. es6学习笔记-class之一概念

    前段时间复习了面向对象这一部分,其中提到在es6之前,Javasript是没有类的概念的,只从es6之后出现了类的概念和继承.于是乎,花时间学习一下class. 简介 JavaScript 语言中,生 ...

  6. springboot~Profile开发环境与单元测试用不同的数据库

    期望 希望开发环境dev用mysql 单元测试使用本机的h2数据库 引入依赖 compile('org.springframework.boot:spring-boot-starter-data-jp ...

  7. springboot~ EventListener事件监听的使用

    EventListener事件触发和监听器可以对代码解耦,在一些与业务无关的,通用的操作方法,我们可以把它设计成事件监听器,像通知,消息这些模块都可以这样设计. 事件源 @Getter @Builde ...

  8. Python:游戏:扫雷(附源码)

    这次我们基于 pygame 来做一个扫雷,上次有园友问我代码的 python 版本,我说明一下,我所有的代码都是基于 python 3.6 的. 先看截图,仿照 XP 上的扫雷做的,感觉 XP 上的样 ...

  9. cocos creator主程入门教程(十一)—— 有限状态机和行为树

    五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 本篇介绍有限状态机和行为树.有限状态机用于有限的状态下的AI,由于同时只能处于一个状态,多个状态需要多个 ...

  10. SpringCloud系列——Config 配置中心

    前言 Spring Cloud Config为分布式系统中的外部化配置提供了服务器端和客户端支持.有了配置服务器,您就有了一个中心位置来管理跨所有环境的应用程序的外部属性.本文记录实现一个配置中心.客 ...