Git-删除文件后找回-比较文件差异
#前提:删除前,文件存在是的状态提交到了本地库
#操作: 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-删除文件后找回-比较文件差异的更多相关文章
- 【Git的基本操作四】永久删除文件后找回
永久删除文件后找回 1. 已经添加到本地库的文件 使用 reset 命令回退到未删除的历史记录即可 2.添加到缓存区,没有提交到本地库的文件找回 git reset --hard HEAD 命令即可找 ...
- VS2010 打包生成exe文件后 执行安装文件出现 TODO:<文件说明>已停止工作并已关闭
一.VS2010 打包生成exe文件后 执行安装文件出现 TODO:<文件说明>已停止工作并已关闭 TODO: <文件说明>已停止工作 原因: 打包的时候在文件系统中建立了 ...
- git删除已经push的远程文件或文件夹
在使用git提交项目时,有时候会误提交一下文件,比如:*.iml,*.project,*.settings,.idea/*等文件,有时候这些不需要提交的文件可以加入到.gitignore,在提交的时候 ...
- Oracle 删除数据后释放数据文件所占磁盘空间
测试的时候向数据库中插入了大量的数据,测试完成后删除了测试用户以及其全部数据,但是数据文件却没有缩小.经查阅资料之后发现这是 Oracle “高水位”所致,那么怎么把这些数据文件的大小降下来呢?解决办 ...
- git删除未被追踪的文件
# 先看看会删掉哪些文件,防止重要文件被误删 git clean -n # 删除 untracked files git clean -f # 连 untracked 的目录也一起删掉 git cle ...
- intellij idea svn 修改文件后,父文件夹也标注修改
svn文件修改后,默认只有当前文件更改而父文件没有标注,很不直观:查了一顿后,发现,可以设置: File—->settings—->version control—–>勾选show ...
- (转)intellij idea svn 修改文件后,父文件夹也标注修改
svn文件修改后,默认只有当前文件更改而父文件没有标注,很不直观:查了一顿后,发现,可以设置: File—->settings—->version control—–>勾选show ...
- git删除远程仓库中的文件夹
具体操作如下: git rm -r --cached .history #删除目录 git commit -m”删除.history文件夹” git push -r表示递归所有子目录,如果你要删 ...
- 关于UltraISO打开iso文件后只有部分文件问题
背景:在安装CentOS 7的时候,用UltraISO打开之后,只有一个EFI文件,刻完U盘,却无法引导. 之前还以为偶没下载全,就又下了一遍,还好偶搞得的NetInstall,要不然就呵呵了. 解决 ...
随机推荐
- SUSE12SP3-Mycat(3)Server.xml配置详解
简介 server.xml 几乎保存了所有 mycat 需要的系统配置信息.其在代码内直接的映射类为 SystemConfig 类. user 标签 <user name="test& ...
- [翻译]Java排错指南 - 5 确定崩溃何地发生
原文地址: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/crashes001.html 这几天公司其他组遇到 ...
- Castle Windsor 的动态代理类如何获取实际类型
问题 在实际开发过程当中我们可能会针对某些类型使用动态代理技术(AOP),注入了一些拦截器进行处理,但是一旦某个类型被动态代理了,那么就会生成一个代理类.这个时候在该类内部使用 GetType() 方 ...
- Django rest framework源码分析(2)----权限
目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...
- 小白都会超详细--ELK日志管理平台搭建教程
目录 一.介绍 二.安装JDK 三.安装Elasticsearch 四.安装Logstash 五.安装Kibana 六.Kibana简单使用 系统环境:CentOS Linux release 7.4 ...
- 在vue项目中添加全局提示框
1.写一个提示框组件:msg.vue (注明:这里用两个div的原因是成功和失败的提示不能用同一个div,因为他们可能紧接着出现,所以不能从始至终只有一个提示框在工作) 2.写一个调用此组建的js : ...
- SQL优化 MySQL版 - 单表优化及细节详讲
单表优化及细节详讲 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 注:本文章需要MySQL数据库优化基础或观看前几篇文章,传送门: B树索引详讲(初识SQL优化,认识索引):htt ...
- 谓词筛选表达式的扩展库PredicateLib
PredicateLib PredicateLib是谓词筛选表达式Expression<Func<T, bool>>的一个扩展库,它可以帮你创建一个复杂且灵活的Expressi ...
- dubbo不完全指南
Dubbo架构 节点角色说明 节点 角色说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 Monitor 统计服务的 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2版本正式发布
RDIFramework.NET .NET快速信息化系统开发框架 V3.2版本 正式发布 精益求精求完美! 1.RDIFramework.NET框架介绍 RDIFramework.NET,基于.NE ...