#前提:删除前,文件存在是的状态提交到了本地库
#操作: 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. java上传excel到后台解析入库

    背景:最近需要做一个excel模板导入的功能,以便用户可以自己增删改查数据,当然,只有特别的用户才能有此权限,捋了捋思路,还是从前端写起 实现: 页面最后的效果如下,可以自己修改,删除,导入导出数据, ...

  2. Linux 使用 free 命令查看内存使用情况

    1.free 命令的选项 使用 free 命令查看服务器内存使用情况. free [-b|-k|-m|-g|-h] [-l] [-o] [-t] [-s delay] [-c count] [-V] ...

  3. wtf!rds数据同步居然出问题了--菜鸟db的数据修复历程

    由于一次上线操作的数据变更太多,导致执行时间很长! 由于做手动主从关系,所以操作落在了主库上. 由于主从关系不是对整个库的操作,所以在有表新增的地方,添加了dts新的同步关系. db变更完成后,就发布 ...

  4. Python编程Day1——计算机组成与操作系统

    一..计算机基础 二.编程与编程的目的 1.什么是语言? 一种事物与另外一种事物沟通的介质 编程语言是程序员与计算机沟通的介质 2.什么是编程? 程序员把自己想要让计算机做的事用编程语言表达出来,编程 ...

  5. 基于vue-cli构建vue-router的入门级demo

    前言 本案列仅针对刚刚入门vue学习的伙伴,博主也是刚刚在学基于vue-cli搭建脚手架项目,对于前端大牛,可以移步. 快速搭建vue-cli环境 如何搭建基于vue-cli项目,这里不再叙述,如果不 ...

  6. SpringBoot + Spring Security 学习笔记(四)记住我功能实现

    记住我功能的基本原理 当用户登录发起认证请求时,会通过UsernamePasswordAuthenticationFilter进行用户认证,认证成功之后,SpringSecurity 调用前期配置好的 ...

  7. SpringBoot2 application.properties方式加载配置文件

    application.properties jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:33 ...

  8. 2018/1.6 Javascript 继承和克隆

    这种写法不是对象克隆,就是把obj的内存地址赋给obj2 通过 for in 克隆 不管公有还是私有的都克隆成私有的. js提供了一个克隆方法 objct.create() var obj2=obje ...

  9. Activiti(一) activiti数据库表说明

    activiti介绍: activiti是一个业务流程管理(BPM)框架.它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的.灵活的.易扩展的可执行流程语言框架.开发人员可以通过插件直接绘画出 ...

  10. 阿里云小程序云应用环境DIY,延长3倍免费期

    阿里云清明节前刚刚推出了小程序云应用扶持计划一期活动 (活动链接见文章底部).假期研究了下以后,发觉不太给力.基本上就是给了2个月的免费测试环境,和平均2个月的基础版生产环境.而如果选用标准版生产环境 ...