美文网首页美文共赏
Git 恢复暂存区(git add之后的)文件

Git 恢复暂存区(git add之后的)文件

作者: 塞北孤雁 | 来源:发表于2021-11-25 14:30 被阅读0次

git在执行add命令后, 会将文件改动存入暂存区, 如果没有commit就直接回退版本, 会导致暂存区的数据丢失.

但是可以通过以下办法找回:

1.找出最近放到缓存区的的文件

find .git/objects -type f | xargs ls -lt | sed 10q

这个命令会列出最近修改的10个文件,结果如下

-r--r--r--  1 wangdi  staff       202 11 25 14:19 .git/objects/7b/b3b74de4432b36d4c8be1109cb887b3858e37a
-r--r--r--  1 wangdi  staff       282 11 25 14:19 .git/objects/f2/d4073df05e0275c931ca94f046847984bd42c6
-r--r--r--  1 wangdi  staff       345 11 25 14:19 .git/objects/49/88d62d11b4d46ba0e486fb11ffea1d5c8f91c6
-r--r--r--  1 wangdi  staff       174 11 25 14:19 .git/objects/af/27d3d78a294139e295e7dd1033ddabce52a8ae
-r--r--r--  1 wangdi  staff        80 11 25 14:19 .git/objects/d6/834e800bfbc02f7d3bb13e3267c40deadc4e84
-r--r--r--  1 wangdi  staff       132 11 25 14:19 .git/objects/39/172cb7f6d7bc3087e857cbc08c44f339e03abe
-r--r--r--  1 wangdi  staff        74 11 25 14:19 .git/objects/82/3fa3dc5341a7f1edfd8c7819576a2cbc210248
-r--r--r--  1 wangdi  staff       167 11 25 14:19 .git/objects/66/f1cc31dc3e842adab417eb39a1eaaf02a0645d
-r--r--r--  1 wangdi  staff       163 11 25 14:19 .git/objects/42/cc312740bfda42c88292eb6b2ff433db854edb

2.输出文件内容

因为这些文件都是通过特殊处理的,无法直接看到文件内容,需要通过如下命令输出一下

git cat-file -p ID > fileName

其中ID为Objects后面的文件编号(去掉/),ResultFile是输出结果的文件,具体使用演示如下

git cat-file -p 7bb3b74de4432b36d4c8be1109cb887b3858e37a >~/aaaa/b3b74de4432b36d4c8be1109cb887b3858e37a

我是在自己的根目录下建立了一个aaaa的文件夹,然后通过终端,在该目录下搜索某个文件中的关键字符(如:STUrl_userAgreement)可以找到对应的文件

grep -Fnr STUrl_userAgreement .

结果如下:

./dc7a4d3a91cee7f9567f082a1aea0bc65075b5:11:let STUrl_userAgreement = "https://app.strongwinds.cn/about/user-agreement.html"
./e66441250d8fac370726ea4a18b6cb3e933e5e:275:        webController.url = STUrl_userAgreement

这样就可以找到对应内容的文件了!

相关文章

  • git的基本操作

    初始化仓库git init指定文件提交到暂存区git add [文件]所有变化的文件提交到暂存区git add ....

  • Git入坑记(二)

    git add之后再修改的文件,git commit只会提交第一次add到暂存区的文件 1.git checkou...

  • git基本概念及用法

    Git有三大区 工作区(未使用 git add 命令的文件), 暂存区(也就是git add之后的文件)(i.e....

  • git diff、git diff --cached、git d

    git diff : 对比工作区(未 git add)和暂存区(git add 之后) git diff --ca...

  • git 常用指令

    初始化git仓库git init 添加到暂存区git add 文件名 (添加某个文件)git add . (添加所...

  • web前端代码版本控制工具

    git中有哪些常用的命令?初始化仓库:git init添加暂存区:git add 文件名 git add ....

  • Git常用命令记录

    常用命令 功能命令添加文件/更改到暂存区git add filename添加所有文件/更改到暂存区git add ...

  • Git 恢复暂存区(git add之后的)文件

    git在执行add命令后, 会将文件改动存入暂存区, 如果没有commit就直接回退版本, 会导致暂存区的数据丢失...

  • Git 和 Docker命令

    git git status //查看项目文件状态 git add * //表示将所有改动的文件加入暂存区 git...

  • git

    使用git add . 代替 git add *使用git add之后,怎样恢复?

网友评论

    本文标题:Git 恢复暂存区(git add之后的)文件

    本文链接:https://www.haomeiwen.com/subject/crnatrtx.html