每个远程禁用或正确安装 git LFS

Disable or properly install git LFS per remote

我有一个 git 存储库,配置了两个遥控器。

其中一个遥控器是本地裸 git 存储库,通过 ssh 访问(它的 url 是 ssh://username@host:/home/username/repo.git)并且它不支持 git LFS。

是否可以为该遥控器禁用 LFS 并使 git push 发送跟踪文件的原始内容,而不是指针?

我遵循了这些文章中的建议,但它们没有帮助:

https://github.com/git-lfs/git-lfs/issues/3665#issuecomment-496549743

命令 git push 成功,但我得到的是指针文件而不是原始内容:

$ head ./src/LARGE-file.bin
version https://git-lfs.github.com/spec/v1
oid sha256:e4790eb8aeb78cc79ace0f3d9719875d95091fe97969302d6816f64b9f0f8850
size 1430976

总而言之,我的目标是为一个遥控器启用 git LFS 并为另一个遥控器禁用它。

或者,也可以为该纯 ssh 远程配置 LFS,我将不胜感激关于如何配置的建议。

这里的问题是 Git 内容指针文件。

如果您为远程禁用 LFS,您实际上是在说 当我发送到给定的远程时,我不想将真实文件发送到 LFS 服务器,我只是想要将内容指针发送到 Git 服务器。

要将真实文件作为提交的一部分发送,它们实际上必须是提交的一部分。请记住,git push 对提交而非文件进行操作。 Git-LFS 对内容指针存储在基础 Git 存储库中的单个文件进行操作。

如果您提交包含实际文件而不是内容指针的提交,并发送这些提交而不是仅包含内容指针的提交,那将有效;但请注意,这是一个不同的/独立的历史,不能轻易地与基于 LFS 指针的历史相协调。 Git-LFS 本身可能没有内置支持,因为处理得好将是一场噩梦。