首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在另一个git中添加私有git作为子模块

如何在另一个git中添加私有git作为子模块
EN

Stack Overflow用户
提问于 2022-06-28 06:34:18
回答 1查看 366关注 0票数 1

如何在另一个git存储库中添加私有git存储库作为子模块?

在本地,当我执行git submodule update时,它工作得很好,但是在github操作运行程序中,它失败了,因为它在结帐步骤中声明了url没有找到

下面是我如何配置我的工作流文件。

代码语言:javascript
运行
复制
jobs:
  update_submodules:
    runs-on: ubuntu-latest

    steps:
      # Checkout the repository to the GitHub Actions runner
      - name: Checkout
        uses: actions/checkout@v3
        with:
          submodules: true

      # - name: Clone submodule
      #   run: git submodule update --init --recursive

      - name: Pull & update submodules recursively
        run: |
          git submodule update --init --recursive
          git submodule update --recursive --remote

在第二步就失败了。

EN

回答 1

Stack Overflow用户

发布于 2022-06-28 06:52:25

您不必对submodule update init进行编码,因为它是action/checkout本身的一个选项。

例如,第116期显示:

  • 生成PAT:https://github.com/settings/tokens
  • 然后加上一个秘密:https://github.com/<-- username -->/<-- repo -->/settings/secrets/new,给它一个唯一的名字,比如MY_REPO_PAT
  • 按以下方式配置操作:
代码语言:javascript
运行
复制
steps:    - name: Checkout      uses: actions/checkout@v2      with:        token: ${{ secrets.MY\_REPO\_PAT }}        submodules: recursive

或(替代),第287期

我有一个解决方案,不需要个人访问令牌,但将对子回购提交的引用保留在一个地方(使用git子模块)。 -名称:克隆子模块使用:action/ checkout @v2,其中包含:存储库:/ path: path ssh-key:${ secrets.SSH_KEY }持久化-凭据:真-名称:签出子模块运行:\ git子模块init子模块更新 尽管操作签出了mastergit submodule命令签出了正确的提交,但这避免了在github操作中保留ref。

关于最后一期(287),马蒂杰斯·库伊曼还描述了如何设置和管理Github应用程序

Štěpán Jákl 添加

我还意识到,您可以简单地使用签出操作来包含多个子模块部署密钥。 我很惊讶这里还没有提到这件事。 ..。步骤:-使用: actions/checkout@v3和: ssh-key: AC.26 ${{ secrets.SSH_PRIVATE_KEY_SUBMODULE_1 }} ${ secrets.SSH_PRIVATE_KEY_SUBMODULE_2 }子模块:‘递归’. 只需记住,键必须使用到存储库的链接/注释生成。 "git@github.com:owner/repo.git“ GH签出可以将密钥与正确的存储库连接起来。

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

https://stackoverflow.com/questions/72781712

复制
相关文章

相似问题

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