是否有一个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 2.23引入了Git restore命令来恢复工作树文件。
恢复当前目录下的所有文件。
git restore .
如果您想恢复所有C源文件以匹配索引中的版本,您可以这样做
git restore '*.c'
我认为你可以使用以下命令:git reset——hard
安全而漫长的路:
Git分支要删除 Git签出删除 Git添加。 “我做了件坏事,对不起” Git检查开发 git分支-D删除
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命令,它可以恢复你仓库中所有未提交的更改:
git checkout .
例子:
ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: application/controllers/Drivers.php
modified: application/views/drivers/add.php
modified: application/views/drivers/load_driver_info.php
modified: uploads/drivers/drivers.xlsx
no changes added to commit (use "git add" and/or "git commit -a")
ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git checkout .
ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean