Skip to main content

对远程存储的数据进行版本控制的快速方法

项目描述

懒惰的LFS

对远程存储的数据进行版本控制的快速方法

懒惰是因为

  • 它不会急切地获取数据,并且
  • 它不需要大量的工作。

用法

安装喜欢

pip install lazylfs

使用喜欢

cd path/to/repo

git init .

lazylfs link path/to/data/ ./

lazylfs track ./

lazylfs check ./

git add .

git commit -m "Adds some data"

git diff-tree --no-commit-id --name-only -r HEAD \
| lazylfs check

备择方案

在 git 中处理大型文件和大型存储库的现有方法有很多。本节探讨这些替代方案、它们的优势、劣势以及对我的用例的适用性。

他们中的许多人的共同点是,如果从 NAS 之类的东西迁移时,他们的进入门槛会更高。

Git LFS

下载一小部分文件很麻烦。我发现最好的方法是

  1. export GIT_LFS_SKIP_SMUDGE=1,
  2. git-lfs fetch文件有选择地使用-Iand-X参数,
  3. git-lfs签出文件,明确是否要避免错误。
  4. 在每次添加、删除或修改 lfs 跟踪的文件的 git 操作后重复 2 和 3。

据报道,repo 的占用空间可能比文件大得多,因为它们在 git 中作为对象存储一次,在工作树中作为文件存储一次。

git-附件

似乎默认行为是将每个文件的副本存储在.git/annex. 我做了一个非常简短的尝试,用符号链接替换文件,这似乎让人不高兴。

由于它的灵活性,它通常看起来也很难学习并且使用起来很麻烦。诚然,这可能是因为我没有花足够的时间使用它,所以这绝对在我的 ToDo 清单上。

用于 Git 的 VFS

简短的回答是 Linux VFSForGit 客户端尚不可用,但我们正在努力!

VFSForGIT 问题 #1226

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

lazylfs-0.3.5.tar.gz (13.2 kB 查看哈希)

已上传 source

内置分布

lazylfs-0.3.5-py3-none-any.whl (8.5 kB 查看哈希

已上传 py3