我有一台服务器,上面有一个用于推送的空存储库。但是,我的服务器需要有一个主分支的工作副本。
我如何才能获得一个工作副本,并且只从一个空的存储库中获得?
发布于 2012-09-17 04:08:52
您可以简单地将存储库克隆到同一台计算机上的另一个目录:
git clone /bare/repo/dir
当前目录将成为存储库的非裸克隆,并且您将自动获得master
分支的签出。然后根据需要使用git pull
等常用命令对其进行更新。
作为一个附带的好处,这个操作是非常有效的-如果你指定一个本地目录到git clone
,git将使用硬链接来共享两个repos的对象数据库的只读部分。
发布于 2012-09-23 06:39:26
我在寻找“分离工作树”方法(如here所示):
git init --bare
git config core.bare false
git config core.worktree /somewhere/else/
git checkout -f
发布于 2020-03-25 00:03:08
这对我来说很有效:
git --git-dir=path-to-bare-repo.git --work-tree=path-to-target checkout master .
此命令会将存储库中的所有文件提取到path-to-target
指定的目录中
https://stackoverflow.com/questions/12450245
复制相似问题