从.git目录生成工作目录文件

时间:2012-07-22 04:04:03

标签: git

我有.git目录,但我没有实际的工作目录,只有repo。我可以使用什么命令重新创建工作目录?

3 个答案:

答案 0 :(得分:8)

假设.git目录位于另一个名为“test”的空目录中。

git clone test new_test

new_test现在将包含.git目录和工作副本。或者,您也可以直接指向.git目录:

git clone test/.git new_test

具有相同的结果。

答案 1 :(得分:1)

如果您需要的不是可以使用的工作存储库,而只是工作文件的副本,则可以在git archive目录上运行.git以从工作树生成Tar文件

它通常在stdout上生成,因此您只需运行git --git-dir=/path/to/repo archive | tar x即可在工作目录中获取副本。

答案 2 :(得分:1)

我认为你实际上是在询问如何创建一个裸存储库。虽然再次克隆它可能是最容易的,但这也有效:

首先确保所有内部git文件(例如index,HEAD)和文件夹(例如hook,info,objects,refs)都在名为.git的文件夹中。现在可能不是您的存储库仍然裸露的情况。所以只需重命名它。然后将其移动到您想要成为工作目录的文件夹中。

然后在工作目录级别:

git config core.bare 0
git checkout -f

然而,再次克隆更容易; - )