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


当前回答

使用“git checkout——…”来丢弃工作目录中的更改

git checkout -- app/views/posts/index.html.erb

or

git checkout -- *

删除在git状态下对非暂存文件所做的所有更改

modified:    app/controllers/posts.rb
modified:    app/views/posts/index.html.erb

其他回答

我认为你可以使用以下命令:git reset——hard

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

# 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可能因为CRLF / LF更改而将它们标记为正在编辑。看看你最近是否在.gitattributes中做了一些更改。

在我的例子中,我将CRLF设置添加到.gitattributes文件中,因此所有文件都保留在“修改文件”列表中。更改.gitattributes设置会使它们消失。

Use:

git reset HEAD filepath

例如:

git reset HEAD om211/src/META-INF/persistence.xml

安全而漫长的路:

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