Git lfs 从本地裸仓库获取?或者 LFS 文件的其他本地副本?

标签 git github git-lfs

我的小组正在与另一个小组合作开展一个项目,我们为合作建立了一个 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 能直接从裸仓库中获取。不幸的是,正如我所担心的那样,它似乎并没有那样工作。

有没有办法做到这一点,或者以其他方式获得存储库的本地工作副本——包含所有分支和标签以及所有大文件的本地副本?如果重要的话,我们不需要能够添加新的提交,只需 checkout 不同的分支并访问所有文件。

最佳答案

使用 Git LFS 2.9.0,如果您将其指定为绝对文件 URL,则可以从本地存储库克隆。不支持本地路径,但它们将在 Git LFS 2.10.0 中。

此外,如果您在 Windows 上,目前需要使用 %3a 而不是冒号。你不是,但其他人是,这是问题的常见来源。此要求也应在 2.10.0 中消失。

从本质上讲,您用于使用 Git 进行克隆的 URL 应该如下所示:file:///home/nick/checkouts/somerepo.git

关于Git lfs 从本地裸仓库获取?或者 LFS 文件的其他本地副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58987270/

相关文章:

git - HEAD、HEAD^ 和 HEAD~1 有什么区别?

Git 备份未跟踪的文件

github - 如何在 GitHub 工作流程中安排和推送/拉取请求事件?

git - 如何获得直接链接到github LFS(大文件存储)中的文件?

git - 为什么 Bitbucket Server 在本地存储 LFS 对象?

git - 使用 git 指示应用程序版本?

git - 当我使用参数化分支 : fatal: Couldn't find remote ref refs/heads/${BUILD_BRANCH} 时,Jenkins 无法构建

git - macOS Sierra 更新后无法同步 git

Git:如何 checkout 新的远程分支?

git - 在常规 Git 下移动 Git LFS 跟踪文件