gpt4 book ai didi

git - 如何将 Git LFS 文件的旧版本打印到标准输出(Git show/git cat-file for LFS)?

转载 作者:太空狗 更新时间:2023-10-29 13:34:42 27 4
gpt4 key购买 nike

这个问题的另一个标题可以是“如何 check out 一个 Git-LFS 管理文件的多个版本?”

我想检查存储在 Git-LFS 中的文件的多个版本。因此,我想在我的工作目录中并排放置此文件的多个版本。我的想法是这样的:

git show v1:./myfile.ipynb > myfile-v1.ipynb
git show v2:./myfile.ipynb > myfile-v2.ipynb

这不能按预期工作:该文件由 Git-LFS 管理,因此 git show 每个版本的内容看起来像

version https://git-lfs.github.com/spec/v1
oid sha256:62aafe00ec8b61a37dd729e7d3a723382...
size 20439

我感兴趣的是文件的“真实”、Git-LFS 管理的内容,而不是 LFS 存储在 Git 自己的树中的指针文件。

如何创建未跟踪的、自定义命名的文件,每个文件都包含由 Git-LFS 跟踪的文件的特定版本?这不需要是单个命令,我已经接受 Git 需要多步脚本来执行单一概念操作。

最佳答案

将 lfs 指针通过管道传输到 git lfs smudge 将产生您想要的结果。例如:

git cat-file blob <blob-sha> | git lfs smudge

或者,如果您有一个提交类型(提交哈希、分支名称、HEAD 等)和文件名:

git cat-file blob <commit-ish>:path/to/my-large-file.name | git lfs smudge

您可以将输出重定向到一个文件中。

关于git - 如何将 Git LFS 文件的旧版本打印到标准输出(Git show/git cat-file for LFS)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50760795/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com