gpt4 book ai didi

github - git 操作和 LFS 缓存

转载 作者:行者123 更新时间:2023-12-04 17:20:07 27 4
gpt4 key购买 nike

尝试减轻来自 github 的大型 LFS 拉取。产生费用。
很高兴看到 github 操作支持缓存来自 LFS 的大型 blob。

这是在问题 #165 上发布的示例在 actions/checkout 模块 repo

- name: Checkout code
uses: actions/checkout@v2

- name: Create LFS file list
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id

- name: Restore LFS cache
uses: actions/cache@v2
id: lfs-cache
with:
path: .git/lfs
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}-v1

- name: Git LFS Pull
run: git lfs pull

- name: run compile and package
run: python CompileAndPackage.py

我当前的流程如下,我声明支持 lfs 并将 submodules 支持设置为递归。我调用的 git LFS 在一个子模块中。

我应该如何将上面的内容整合到下面的流程中。

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
lfs: 'true'
# recursively checkout submodules.
submodules: recursive

我不确定在我检查缓存之前是否会发生 check out 和子模块更新(我假设发生 lfs 拉动的地方)。

这是我想用的

    steps:
- uses: actions/checkout@v2
with:
lfs: 'true'
submodules: recursive
ssh-key: ${{ secrets.git_key }}
- name: Create LFS file list
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id

- name: Restore LFS cache
uses: actions/cache@v2
id: lfs-cache
with:
path: .git/lfs
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}-v1

- name: Git LFS Pull
run: git lfs pull

我是否应该在检查缓存后明确调用 git submodule update --init? afaik 它通过操作/结帐自动发生

更新

嘿,这看起来确实有效!

事实上,github 并没有详细说明谁占用了 LFS 配额。很高兴听到有人说这是合法的。

enter image description here

最佳答案

我为此创建了一个 Action ,action-cached-lfs-checkout .

代替

- name: Checkout code
uses: actions/checkout@v2
with:
lfs: true

简单地做

- name: Checkout code
uses: nschloe/action-cached-lfs-checkout@v1

关于github - git 操作和 LFS 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66688305/

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