是否有一个Git命令可以恢复工作树和索引中所有未提交的更改,并删除新创建的文件和文件夹?
当前回答
我通常使用这种方法,效果很好:
mv fold/file /tmp
git checkout fold/file
其他回答
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忽略的文件,所以要小心(参见我引用的答案中的讨论)。
请注意,可能仍然有文件看起来不会消失——它们可能是未编辑的,但Git可能因为CRLF / LF更改而将它们标记为正在编辑。看看你最近是否在.gitattributes中做了一些更改。
在我的例子中,我将CRLF设置添加到.gitattributes文件中,因此所有文件都保留在“修改文件”列表中。更改.gitattributes设置会使它们消失。
安全而漫长的路:
Git分支要删除 Git签出删除 Git添加。 “我做了件坏事,对不起” Git检查开发 git分支-D删除
我认为你可以使用以下命令:git reset——hard
Git 2.23引入了Git restore命令来恢复工作树文件。
恢复当前目录下的所有文件。
git restore .
如果您想恢复所有C源文件以匹配索引中的版本,您可以这样做
git restore '*.c'