gpt4 book ai didi

git - 如何克隆包含 Git LFS 文件的存储库?

转载 作者:行者123 更新时间:2023-12-03 15:04:34 24 4
gpt4 key购买 nike

在我的 Ubuntu 系统上,我安装了 Git LFS 和 Git,并克隆了一个存储库,其中一些文件由 Git LFS 管理。但是这些文件没有下载,除了一个标记文件。 (直到我检查了文件大小,我才意识到它们不是整个文件,因为它们在我的文件系统中以正确的名称显示在正确的位置。)

我从 this answer 看到那git lfs clone已被弃用,而只是 git clone应该管用。但是当我尝试这样做时,我感到困惑。我习惯只运行git clone https://foobar.git并让它设置目录。但是除非使用 git lfs install 进行初始化,否则 Git LFS 将无法工作。在使用它的每个目录中。 (这就是为什么这第一次不起作用,至少现在我知道了。)

所以我设置了目录,运行 git initgit lfs install在里面,然后运行git clone https://foobar.git .这将为嵌套在我创建的目录中的 repo 创建一个目录,不是吗?不知何故,这似乎是错误的。

克隆这个 repo 需要几个小时,所以我想确信我做对了。看着documentation on GitHub ,似乎上面的命令集是正确的——如果你读了整件事的话。信息位由一千个左右的单词分隔。这是这样做的方法吗?

最佳答案

git lfs install做两件事:它在您的本地存储库中设置 Hook ,并调整您的全局(即,特定于用户的)配置以包含 Git LFS 正常工作所需的过滤器命令。

如果您还没有在存储库中,您可能想要运行 git lfs install --skip-repo让它安装过滤器命令到你的~/.gitconfig .如果您自己管理此文件,请将它添加的行复制到您管理的文件中。然后,进入非 Git 控制的目录并运行 git lfs env并确保最后几行如下所示:

git config filter.lfs.process = "git-lfs filter-process"
git config filter.lfs.smudge = "git-lfs smudge -- %f"
git config filter.lfs.clean = "git-lfs clean -- %f"

这将显示您的配置已正确设置。设置完成后,只需克隆存储库,并假设它在其 .gitattributes 中设置了正确的条目。文件,Git 会自动 pull 下必要的 Git LFS 文件,当调用 Git LFS 时,它会安装必要的钩子(Hook)。

在 Debian 上,Git LFS 包默认安装过滤器命令,所以它在 Ubuntu 上可能也是如此。您可以检查 /etc/gitconfig 中的条目,如果他们在场,你根本不需要做任何事情;事情应该可以正常工作, git lfs env无需任何设置即可自动向您显示正确的内容。

关于git - 如何克隆包含 Git LFS 文件的存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56283415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com