【问题标题】:10 GIT lines erased 8Gb form my pc - How to get them back? [closed]10 条 GIT 行从我的电脑中删除了 8Gb - 如何找回它们? [关闭]
【发布时间】:2012-10-13 18:27:18
【问题描述】:

我是 GIT 的初学者,不知道这个程序有多强大...我从几个命令中删除了 8 Gb。
我记得我输入了以下几行:

$git config --global user.name "my name"
$git config --global user.email "my email"
$git add *.c
$git commit -m
$git status

然后我看到很多被跟踪和未跟踪的文件,我试图删除它们(从 gi​​t 中)。我不知道我会从我的电脑中删除它们。所以我做了以下事情:

$git rm
$git rm --cached *.c

这样我删除了所有跟踪的文件。所以我继续说:

$git clean -f
$git clean -f -d
$git clean -f -x
$git clean -d -x -n

这样我删除了一些未跟踪的文件,系统未使用的文件(我正在使用 Windows)。现在这就是我所拥有的:

$git status
On branch master
Initial commit
Untracked files:
 (use "git add <file>..." to include in what will be commited)
 .gitconfig
 AppData/
 Desktop/
 Favourites/
 NTUSER.DAT
 NTUSER.DAT{some characters and numbers}
 ntuser.dat.LOG1
 ntuser.dat.LOG

$git checkout
fatal: You are on a branch yet to be born

也许我使用了更多命令,但我不记得了! 我只是想恢复我的旧文件,我将停止使用这个可爱的 Git 软件。

【问题讨论】:

  • 你永远不会从 git 中取回未跟踪的文件,因为它们没有被跟踪它们没有被记录。
  • 盲目输入命令总是会在这里结束
  • 我希望你有最近的电脑备份...
  • 如果恢复文件对您来说真的非常重要,请立即关闭计算机,从 linux livecd 启动,然后使用取消删除实用程序尝试恢复内容。您的里程会有所不同,并且数据可能已经丢失。如果它不是那么重要,只需重新创建并继续前进。 @Messa:当然不会,从来没有人这样做过。
  • 拜托伙计们,他在显然不是很有趣的时候寻求帮助..没有必要一直告诉这是一个多么糟糕的主意。

标签: git recovery


【解决方案1】:

哦,孩子。我看到你做了什么,它并不漂亮。让我们阅读“git clean”的文档:

git-clean - 从工作树中删除未跟踪的文件

这意味着git-clean 删除无法恢复的文件。Git 有一些安全措施,这样你就不会意外运行git clean --除非你指定-d,否则它不会删除目录,除非你通过-x,否则它不会删除被忽略的文件,除非你指定-f,否则它不会做任何事情。

看起来您将主目录变成了 Git 存储库,提交了 *.c 文件,然后删除了其他所有内容。

这基本上就像在 Windows 中运行 rm -rf *del /s *.*不要那样做。

解决方案

从备份中恢复。

如果您没有备份,那么这是一个痛苦的对象教训,为什么我们有备份,您将不得不尝试恢复已删除的文件 - 而且您必须关闭您的计算机,在完成之前不要启动到 Windows。

关于“未跟踪文件”的说明

“未跟踪文件”是不属于您的 Git 存储库的文件。我可以看到,如果您认为未跟踪的文件是您的 Git 存储库的一部分,您将如何尝试越来越危险的事情,直到它们被删除。未跟踪的文件从一开始就不是您的 Git 存储库的一部分,因此您无需执行任何操作即可将它们从您的 Git 存储库中删除。

注意-f

-f/--force 选项的意思是“这个命令会删除数据,我知道我在做什么”。在任何命令提示符处键入 -f 之前,您应该考虑一下该命令将删除哪些数据,并确保您确实要删除它。

例如,git rm-f 作为参数。 git rm 命令将拒绝删除未提交更改的文件,因为这会破坏更改。使用-f 会覆盖此行为,允许您使用git rm 销毁数据。

【讨论】:

  • 我真的,真诚地希望这能让你获得逆转徽章。
  • 我希望 OP 确实有一些备份。否则,我会鼓励 OP 在Super User 上查看一些数据recovery questions
  • 大声笑,我只是尽我所能看到他获得了那个徽章。
  • 感谢您的回答,现在我知道我在那里做了什么!幸运的是我的系统现在很好,重新启动后,即使我没有恢复我的文件(当然我没有备份),只是保存了重要文件。对我来说足够的 GIT 了!祝你有美好的一天!
  • 在其他线程中偶然发现了这个链接。只是想指出,如果您将存储库保存在具有 SSD 的更现代的计算机上,则更有理由进行备份,因为 SSD 实际上会立即清理内存,这与 HDD 不同的是,如果您很快就可以恢复数据
猜你喜欢
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多