我怎么能克隆git://foo.git再次?

时间:2009-08-08 10:37:36

标签: git clone

我做到了  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. 什么是正确的命令?

5 个答案:

答案 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

记住较少的命令:)