首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git操作和LFS缓存

git操作和LFS缓存
EN

Stack Overflow用户
提问于 2021-03-18 17:34:53
回答 2查看 378关注 0票数 3

尝试减轻从github拉出的大量LFS。产生成本。

所以很高兴看到来自LFS的大型blob缓存在github操作中得到了支持。

下面是在操作/签出模块存储库的issue #165上发布的示例

代码语言:javascript
复制
- 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位于一个子模块中。

我应该如何将以上内容集成到我的流程中,如下所示。

代码语言:javascript
复制
jobs:
  build:
    runs-on: ubuntu-latest

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

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

下面是我想使用的方法

代码语言:javascript
复制
    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配额中分一杯羹的细节。会很高兴听到有人说这是合法的。

EN

回答 2

Stack Overflow用户

发布于 2021-10-12 12:49:22

我为此创建了一个动作,action-cached-lfs-checkout

而不是

代码语言:javascript
复制
- name: Checkout code
  uses: actions/checkout@v2
  with:
    lfs: true

简单地做

代码语言:javascript
复制
- name: Checkout code
  uses: nschloe/action-cached-lfs-checkout@v1
票数 2
EN

Stack Overflow用户

发布于 2021-03-18 21:37:40

这是排序的,请参见更新。即时消息关闭

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66688305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档