是否有一个Git命令可以恢复工作树和索引中所有未提交的更改,并删除新创建的文件和文件夹?


当前回答

安全而漫长的路:

Git分支要删除 Git签出删除 Git添加。 “我做了件坏事,对不起” Git检查开发 git分支-D删除

其他回答

您可以执行以下两条命令:

# Revert changes to modified files.
git reset --hard

# Remove all untracked files and directories.
# '-f' is force, '-d' is remove directories.
git clean -fd

如果你有一个未提交的更改(它只在你的工作副本中),你希望恢复到最近提交的副本,请执行以下操作:

git checkout filename
git clean -fd

没有帮助,新的文件仍然存在。我完全删除了所有工作树,然后

git reset --hard

在“https://stackoverflow.com/questions/673407/how-do-i-clear-my-local-working-directory-in-git/673420#673420”中添加-x选项的建议:

git clean -fdx

注意-x标志将删除所有被Git忽略的文件,所以要小心(参见我引用的答案中的讨论)。

我通常使用这种方法,效果很好:

mv fold/file /tmp
git checkout fold/file

如果您只想还原当前工作目录中的更改,请使用

git checkout -- .

在此之前,你可以列出将被恢复的文件,而不实际做任何操作,只是检查将会发生什么,用:

git checkout --