我有一个配置了两个遥控器的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,我很欣赏有关如何执行此操作的建议。
这里的问题是,实际上是[[in Git 是内容指针文件。
如果禁用远程LFS,您实际上是在说当我发送到给定的远程时,我不想将真实文件发送到LFS服务器,我只想发送内容指针到Git服务器。
要发送真实文件作为提交的一部分,它们实际上必须是提交的一部分。请记住,git push
用于提交,而不是文件。对单个文件的Git-LFS操作,其内容指针存储在基础Git存储库中。[如果您进行的提交包含实际文件而不是内容指针,并且发送那些提交而不是仅包含内容指针的提交,则可以;但是请注意,这是一个不同的/独立的历史记录,无法轻松地与基于LFS指针的历史记录进行核对。 Git-LFS本身可能对此没有内置支持,因为处理不好将是一场噩梦。