我是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
然后我看到很多文件被跟踪和未跟踪,我试图删除它们(从git)。我不知道我会从我的电脑上删除它们。所以我做了以下事情:
$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软件。
答案 0 :(得分:74)
哦,小伙子。我看到你做了什么,而且它不漂亮。让我们阅读“git clean”的文档:
git-clean - 从工作树中删除未跟踪的文件
这意味着git-clean
删除了无法恢复的文件。 Git已经采取了一些安全措施,因此您不会意外地运行{{1 - 除非您指定git clean
,否则不会删除目录,除非您通过-d
,否则不会删除被忽略的文件,除非您指定-x
,否则不会执行任何操作
看起来您将主目录转换为Git存储库,提交了-f
个文件,然后删除了其他所有文件。
这基本上就像在Windows中运行*.c
或rm -rf *
一样。 不要这样做。
从备份恢复。
如果你没有备份,那么这是为什么我们有备份的一个痛苦的对象课程,你必须尝试恢复已删除的文件 - 你必须关闭您的计算机在完成之前不会启动到Windows。
“未跟踪文件”是不属于Git存储库的文件。我可以看到,如果您认为未跟踪的文件是您的Git仓库的一部分,您将尝试越来越危险的东西,直到它们被删除。未跟踪的文件从未成为您Git仓库的一部分,因此您无需从Git仓库中删除它们。
del /s *.*
-f
/ -f
选项意味着“此命令将删除数据,我知道我在做什么。”在任何命令提示符下键入--force
之前,您应该反思一下,考虑此命令将删除哪些数据,并确保您确实要删除它。
例如,-f
将git rm
作为参数。 -f
命令将拒绝删除具有未提交更改的文件,因为这将破坏更改。使用git rm
会覆盖此行为,允许您使用-f
销毁数据。