是否有一个Git命令可以恢复工作树和索引中所有未提交的更改,并删除新创建的文件和文件夹?
当前回答
我通常使用这种方法,效果很好:
mv fold/file /tmp
git checkout fold/file
其他回答
使用“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
如果您只想还原当前工作目录中的更改,请使用
git checkout -- .
在此之前,你可以列出将被恢复的文件,而不实际做任何操作,只是检查将会发生什么,用:
git checkout --
Git 2.23引入了Git restore命令来恢复工作树文件。
恢复当前目录下的所有文件。
git restore .
如果您想恢复所有C源文件以匹配索引中的版本,您可以这样做
git restore '*.c'
您可以执行以下两条命令:
# 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配置存储为存储库的一部分?
- 如何修改GitHub拉请求?
- 如何在Github和本地删除最后n次提交?
- 我如何调试git/git-shell相关的问题?
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- Git隐藏未缓存:如何把所有未分期的变化?
- 真实的恶魔
- 如何从另一个分支获得更改
- Git:权限被拒绝(publickey)致命-无法从远程存储库读取。克隆Git存储库时
- git reflog和log有什么区别?
- git推挂在Total line之后
- 重命名git子模块
- 结合Git存储库的前两次提交?
- Xcode 6 gitignore文件应该包括什么?
- 我如何从现有回购的分支创建一个新的GitHub回购?