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

8

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

回答:您可以使用以下命令将工作目录与git repo同步: git clone /path/to/repo 这将在当前目录下创建一个新的工作目录,并将repo中的所有内容复制到其中。
3个回答

12

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

git clone test new_test

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

git clone test/.git new_test

得到相同的结果。


2
如果您所需的不是一个可用于工作的存储库,而只是工作文件的副本,则可以在.git目录上运行git archive以从工作树生成Tar文件。
它通常在stdout上生成,因此您可以简单地运行git --git-dir=/path/to/repo archive | tar x以在您的工作目录中获得副本。

1

我认为您实际上是在询问如何将裸仓库变成非裸仓库。虽然最简单的方法可能是再次克隆它,但以下方法也可以实现:

首先确保所有内部git文件(例如索引、HEAD)和文件夹(例如钩子、信息、对象、引用)都在名为.git的文件夹中。现在您的仓库仍然是裸仓库,这可能不是现在的情况。所以只需将其重命名即可。然后将其移动到您想要成为工作目录的文件夹中。

然后在工作目录级别上执行以下操作:

git config core.bare 0
git checkout -f

不过,重新克隆更容易 ;-)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接