在svn工作目录中,我可以
git中是否有等效的命令?你能告诉我怎么做吗?
答案 0 :(得分:9)
git reset --hard
这是“git reset --hard HEAD
”的同义词,应该是您要找的。 p>
请谨慎使用,因为它会有效删除工作目录中的任何当前更改。请参阅“Undoing in Git”
注意:在评论和Charles Bailey中提及in his answer时,这不会删除未跟踪的文件。
因为git clean是正确的工具。查看他的answer for more,以及SO问题“How do you remove untracked files from your git working copy?”或Git-Ready文章“cleaning up untracked files”。
因此,如果我们想进行大规模清理:
$ git clean -n -d -x
该命令将清除项目
.gitignore
文件下列出的文件,并删除不需要的其他文件和目录。
在运行git clean时一如既往地使用预防措施,并确保仔细检查你真正删除的内容。
注意,您可能需要move your untracked files instead。
答案 1 :(得分:4)
您位于工作目录的根目录
$ git checkout。
这将以递归方式检出(恢复)从当前分支(头)中的最后一次提交中跟踪的每个文件。
答案 2 :(得分:2)
假设您是工作副本的根。
你想做一个干净的去除任何未跟踪的文件,先做一个干运行,以确保它不会先破坏任何东西。 (您可能想要调查目录(-d)并且也使用忽略规则(-x)选项。)
git clean -n
然后运行'真实'。
git clean -f
然后从索引中查看所有跟踪文件的新未修改文件。
git checkout .