我的小组正在与另一个小组在一个项目上进行协作,我们为此建立了一个GitHub组织。现在协作结束了,我们将要从GitHub删除组织,我需要为团队工作的存储库做一个本地副本。
我的理解是git clone --bare <url>
是执行此操作的好方法,但是其中一些存储库使用LFS。我希望我可以按照here的说明进行操作,除了可以将裸存储库克隆到本地,而不是推送到新的远程服务器。换句话说,我想这样做:
git clone --bare git@github.com:<organization>/somerepo.git
cd somerepo.git/
git lfs fetch --all
cd ..
git clone somerepo.git/
cd somerepo
# View source code, build, checkout other branches, etc.
,我希望LFS可以直接从裸仓库中获取。不幸的是,正如我所担心的那样,它似乎无法正常工作。
是否有一种方法可以做到这一点,或者获得存储库的本地工作副本,包括所有分支和标签以及所有大文件的本地副本?如果有关系,我们不需要添加新的提交,只需签出不同的分支并访问所有文件。
答案 0 :(得分:1)
使用Git LFS 2.9.0,如果将其指定为绝对文件URL,则可以从本地存储库进行克隆。不支持本地路径,但本地路径将在Git LFS 2.10.0中。
此外,如果您使用的是Windows,则当前需要使用%3a
而不是冒号。您不是,但其他人是,这是常见的问题来源。此要求也应在2.10.0中取消。
因此,从本质上讲,您用于克隆Git的URL应该类似于以下内容:file:///home/nick/checkouts/somerepo.git
。
答案 1 :(得分:0)
您应该选择transfer your repository from your organisation to your user account。
如果转移的存储库使用Git大文件存储,则所有Git LFS对象都会自动移动。
这种转移发生在后台,因此,如果您有大量的Git LFS对象,或者如果Git LFS对象本身很大,则转移可能需要一些时间。在转移使用Git LFS的存储库之前,请确保接收帐户具有足够的数据包来存储将要移动的Git LFS对象。
有关为用户帐户添加存储的更多信息,请参阅“ Upgrading Git Large File Storage.”