是否有一个Git命令可以恢复工作树和索引中所有未提交的更改,并删除新创建的文件和文件夹?
当前回答
请注意,可能仍然有文件看起来不会消失——它们可能是未编辑的,但Git可能因为CRLF / LF更改而将它们标记为正在编辑。看看你最近是否在.gitattributes中做了一些更改。
在我的例子中,我将CRLF设置添加到.gitattributes文件中,因此所有文件都保留在“修改文件”列表中。更改.gitattributes设置会使它们消失。
其他回答
使用“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 checkout -- .
在此之前,你可以列出将被恢复的文件,而不实际做任何操作,只是检查将会发生什么,用:
git checkout --
Git 2.23引入了Git restore命令来恢复工作树文件。
恢复当前目录下的所有文件。
git restore .
如果您想恢复所有C源文件以匹配索引中的版本,您可以这样做
git restore '*.c'
安全而漫长的路:
Git分支要删除 Git签出删除 Git添加。 “我做了件坏事,对不起” Git检查开发 git分支-D删除
请注意,可能仍然有文件看起来不会消失——它们可能是未编辑的,但Git可能因为CRLF / LF更改而将它们标记为正在编辑。看看你最近是否在.gitattributes中做了一些更改。
在我的例子中,我将CRLF设置添加到.gitattributes文件中,因此所有文件都保留在“修改文件”列表中。更改.gitattributes设置会使它们消失。
推荐文章
- 如何获得我的代码的最新版本?
- 如何在git中找到原始/master的位置,以及如何更改它?
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头
- 如何获得在两次Git提交之间更改的所有文件的列表?