我做到了 git clone git://foo.git cd foo ...编辑文件..
现在我想重新开始。我不关心我已经做出的任何改变,
但我不想再次克隆整个巨人foo.git,只是失去我所有的变化。
我怎么能第二次git克隆git://foo.git,没有得到
fatal: destination path 'foo' already exists and is not an empty directory.
什么是正确的命令?
答案 0 :(得分:10)
git checkout . # revert your changes
git clean -xdf # delete untracked and ignored files
答案 1 :(得分:2)
要还原所有更改,请使用:
git checkout .
不会删除未经跟踪的文件(树中最初不存在的文件,您创建的文件和未编辑的文件)。要查找未跟踪的文件,请使用:
git status
然后手动删除它们。
顺便说一句,如果你想制作一份repo副本,你不需要克隆原始仓库,你可以简单地克隆硬盘上已有的仓库。去foo
以外的地方,然后做:
git clone /path/to/foo
答案 2 :(得分:2)
您可以使用“git checkout”。或“git checkout HEAD - 。”,甚至“git reset --hard HEAD”将您的工作区域重置为已知状态(在第一种情况下记录在索引中的状态,在第二种和第三种情况下记录在HEAD提交中的状态)
要删除未跟踪的文件,您不想让您使用“git clean”(请参阅documentation for details)。
要从克隆的远程存储库中获取新的更改,请使用“git fetch”(或等效的“git remote update”,经过一些设置)或“git pull”(以获取和合并变化)。
答案 3 :(得分:0)
如果真的搞砸了:
git clean -df
git reset --hard HEAD
答案 4 :(得分:-2)
您也可以随时使用
rm -rf *
git checkout master
记住较少的命令:)