如果我跟踪所有pdf
个文件会发生什么:
git lfs track "*.pdf"
但是另一位未安装git-lfs
的开发人员推送了新的pdf
文件?它使用文本指针还是完整的二进制文件?服务器负责对二进制blob进行版本控制,还是客户端?
如果它是服务器端我基本上可以跟踪二进制类型一次,而不用担心其他开发人员将二进制blob推送到git(这是gitlab
)。
答案 0 :(得分:1)
Git lfs管理客户端的所有内容,当您提取/推送文件时,它会使用smudge
和clean
filters。
因此,如果另一位开发人员在没有使用git-lfs的情况下推送相同的 pdf文件,那么您就会遇到麻烦,因为它会覆盖pointer git-lfs替换实际文件。 git repo(你还有历史)。
如果该开发人员在没有安装git-lfs的情况下推送 new pdf文件,它将像git通常那样运行,将二进制文件推送到git repo。
版本控制由指针本身的后端(git后端而不是lfs)处理,因为它现在只是文本,但客户端负责读取指针并从您在其中指定的lfs端点检索正确的blob。 repo的.git / config。
此行为独立于您正在使用的lfs实现 - 目前客户端也not使用blob本身发布元数据,因此后端无法管理此内容。