git add的代码,但是不小心丢了怎么办

Posted vieber

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git add的代码,但是不小心丢了怎么办相关的知识,希望对你有一定的参考价值。

我们有时候add文件之后,但是没有提交,把文件修改丢了,想要找回修改,有两种方法

采用git fsck --lost-found

执行git fsck --lost-found,这个命令

悬空 commit 6b420695167abf8f25b9ab3c6c4c52b9823f4aae
悬空 commit 7f0669ada3ab26cf634da7a6df2755982f383a2f
悬空 blob 54ca3811fbf9405f16107585c8c97fac1bd8040f

将第一个blob的值,采用git show id的方式,去查看使用。

 git show 6b420695167abf8f25b9ab3c6c4c52b9823f4aae

这样就能找到丢失的add文件

这里用find .git/objects -type f | xargs ls -lt | sed 3q

  • 这里用find .git/objects -type f | xargs ls -lt | sed 3q这个命令,他的含义是查找.git/objects文件夹下的普通文件 按照时间排序后 打印在终端里 sed 3q 是打印3行 sed 100q 是打印100行,随你喜欢。
find .git/objects -type f | xargs ls -lt | sed 3q

  • git cat-file -t7f5965523d2b9e850b39eb46e8e0f7c5755f6719 就能看见文件类型

- 把最后一个/去掉 复制从objects/ 后面的所有东西放在-t后面git cat-file -p id就能看见文件内容。

git的object类型

在git里, 有四种类型的object, 分别是tree | blob | commit | tag

tree代表的是目录结构, 或者简单地理解为代表一个目录。

blob用来存储文件内容, 或者说表示一个文件。

commit 存储一次提交的信息,包括所在的tree,parent是谁,作者及message等信息。

tag 就是标签的意思, 实际就是commit的别名。

以上是关于git add的代码,但是不小心丢了怎么办的主要内容,如果未能解决你的问题,请参考以下文章

修改后的代码只进行了git add操作不小心给他恢复了怎么找回来

修改后的代码只进行了git add操作不小心给他恢复了怎么找回来

修改后的代码只进行了git add操作不小心给他恢复了怎么找回来

git上怎么把commit的代码撤销

我昨天不小心弄丢了conio.h,该怎么办啊??需要重装软件吗??急!!

已经git commit 但是想撤销怎么办