我试图在GitHub上估算我的项目的存储要求,并且有一些关于git-lfs如何存储多个版本文件的问题:
答案 0 :(得分:6)
回答你的问题:
git-lfs存储多个版本的文件?
是。所有文件版本都由git-lfs存储。
如果是这样,对文件的每次更改都会导致复制完整文件,还是只存储差异?
是。每次微小的更改都会导致存储新的完整文件。
所有版本都会计入github上的配额吗?
是。每次推送新版本时,总文件大小都会根据您的配额计算。
有没有办法控制保留多少个版本?
没有。 Git LFS还没有这方面的功能。
查看更多详情here。
答案 1 :(得分:3)
即使使用Git-LFS 2.0 (released two days ago,主要是locking and transfert queue),一般原则仍然相同。
official LFS spec中没有任何内容提及增量存储:每个版本都完整计算,并在issue 1101上发表评论
Git LFS无法从服务器中删除仍由git提交引用的旧对象
因此,仍然需要控制保留多少版本或具有某种滚动存储(其中n + 1版本被删除)。
这是今年的路线图,但我不知道什么时候能够达到它。
围绕这类功能存在很多问题:
- 作为用户,您希望如何清除LFS对象?
- 您是否会清除特定版本的文件?
- 你会清除文件的所有版本吗?
- 您想要清除一系列版本吗?也许保留每周检查点的活动文件或其他东西。
- 您是否希望能够在文件,文件类型或目录上设置策略?
- 保留n个版本的文件。
- 定期(每日/每周/每月)文件检查点
- 如果Git LFS无法下载已被清除的文件,您会期望它做什么?
- 指针文件
- 没有
- 如果由于某些服务器问题无法下载文件,您会期待Git LFS做什么?
醇>
- 暂停当前结帐/克隆/拉取命令
- 指针文件
- 没有