#前提:删除前,文件存在是的状态提交到了本地库
#操作: 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. Android Gradle 学习笔记(一):Gradle 入门

    官网地址:https://gradle.org/. 一.配置 Gradle 环境 安装Gradle之前必须要配置好Java环境,要求JDK 6 以上,并且在环境变量配置好JAVA_HOME.查看Jav ...

  2. FragmentTabHostUnderLineDemo【FragmentTabHost带下划线】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 使用FragmentTabHost实现顶部选项卡(带下划线效果)展现. 效果图 代码分析 1.该Demo中采用的是FragmentT ...

  3. Golang之轻松化解defer的温柔陷阱

    目录 什么是defer? 为什么需要defer? 怎样合理使用defer? defer进阶 defer的底层原理是什么? 利用defer原理 defer命令的拆解 defer语句的参数 闭包是什么? ...

  4. Python:bs4的使用

    概述 bs4 全名 BeautifulSoup,是编写 python 爬虫常用库之一,主要用来解析 html 标签. 一.初始化 from bs4 import BeautifulSoup soup ...

  5. 关于获取资源文件,Class.getResource和ClassLoader.getResource的区别

    原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2019-02-22/29.html 作者:夜月归途 出处:http://www.guitu ...

  6. DSAPI 简单WebAPI实现

    使用DSAPI实现一个简单的WebAPI功能,以便各客户端访问.支持身份验证,支持基础防护. 新建项目(以下演示控制台示例),引用DSAPI.dll. 复制粘贴以下代码: Module Module1 ...

  7. .Net Core 实践 - 如何在控制台应用(.Net Core)使用appsettings.json配置

    新建控制台应用(.Net Core)程序 添加json文件,命名为appsettings.json,设置文件属性 如果较新则复制.添加内容如下 { "MyWords" : &quo ...

  8. 史上最全office2016 激活码

    现在office版本已经更新到2016了,现在给大家分享Office 2016 各个版本的激活码,记得断网激活哈.(本人使用的是家庭版) Office 2016 Pro Retail 版激活密钥: [ ...

  9. C# 以函数Action/Func/Task作为方法参数

    以Action.Func.Task作为方法参数,mark一下 以Action为参数 public void TestAction() { //Action参数 ExecuteFunction(() = ...

  10. [TCP/IP] 计算机网络性能指标

    速率:连接在计算机网络上的主机在数字信道上传输数据位数的速率单位是 b/s kb/s mb/s gb/s带宽:数字信道所能传输的最高数据率 查看我的网卡是144Mbps吞吐量:单位时间内通过某个网络的 ...