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,要不然就呵呵了. 解决 ...
随机推荐
- java8 时间使用
为什么需要新的时间API 文章来源:https://www.cnblogs.com/guozp/p/10342775.html 在Java 8之前的日期/时间API之前,现有的与日期和时间相关的类存在 ...
- python脚本简化jar操作命令
本篇和大家分享的是使用python简化对jar包操作命令,封装成简短关键字或词,达到操作简便的目的.最近在回顾和构思shell脚本工具,后面一些文章应该会分享shell内容,希望大家继续关注. 获取磁 ...
- MacBook IDEA激活码(附视频)
Windows激活请看这里:IDEA激活码 此教程实时更新,请放心使用:如果有新版本出现猪哥都会第一时间尝试激活: idea官网下载地址:https://www.jetbrains.com/idea/ ...
- 利用SHA-1算法和RSA秘钥进行签名验签(带注释)
背景介绍 1.SHA 安全散列算法SHA (Secure Hash Algorithm)是美国国家标准和技术局发布的国家标准FIPS PUB 180-1,一般称为SHA-1.其对长度不超过264二进制 ...
- [Nodejs] node写个hello,world
http 模块 与 hello world hello world let http = require("http"); http .createServer((request, ...
- KOA中间件的基本运作原理
示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文目录 华为云社区地址:[你要的前端打怪升级指南] 在中 ...
- C++项目中采用CLR的方式调用C#编写的dll
1.注意事项:在编写C#DLL类库时,最好不要出现相同的命名空间,否则在C++中调用可能会出现编译错误.2.将C#的源码生成的“dll”文件复制到C++项目中的Debug目录下3.将C++项目属性设置 ...
- 关于jQuery中的选择器
1:选择器的作用 获取网页的上面的标签元素等等,然后对他进行一些列的操作(添加样式,添加行为...) 2:选择器有哪些 基本选择器,层次选择器,过滤选择器,表单选择器 一:基本选择器 基本选择器是jq ...
- javaweb + websocket实现客户端
最近需要完成一个javaweb项目,但是没有和数据库连接而是通过websocket通讯实现和服务器端数据交互.我搜了好多,网上大部分都是通过页面websocket连接本地服务器或连接异地服务器,但是这 ...
- JavaScript基础-3
3 运算符 按照个数分类可分为:一元运算符.二元运算符.三元运算符: 按照功能分类可分为:算数运算符.自增运算符.比较运算符.逻辑运算符.赋值运算符: 3.1 算数运算符 算术运算符包含了加减乘除,符 ...