You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Action拉取私有Git子模块遭遇认证失败问题求助

问题

在触发push事件的GitHub Action中尝试拉取私有Git子模块,已创建拥有仓库只读权限的PAT,并将其作为密钥添加到主仓库(非子模块)。GitHub Action配置文件如下:

name: Java CI

on: [ push ]

env:
  SUBMODULE_ACCESS: ${{ secrets.SUBMODULE_ACCESS }}

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - name: Update submodules
        run: |
          git config --global url."https://${SUBMODULE_ACCESS}:x-oauth-basic@github.com/".insteadOf "https://github.com/"
          git submodule update --init --recursive
      - name: Set up JDK 19
        uses: actions/setup-java@v2
        with:
          java-version: '19'
          distribution: 'adopt'
      - name: Cache local .m2
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**.pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      - name: Run lints and test with Maven
        run: mvn clean install -Dall

运行时出现如下错误:

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.

已按文档要求配置PAT,但问题仍存在,该如何解决?

解决方案
  • 直接通过actions/checkout处理子模块拉取
    无需手动修改Git全局配置,在actions/checkout步骤中添加参数,让它自动完成主仓库和子模块的身份验证:

    - uses: actions/checkout@v3
      with:
        submodules: 'true'
        token: ${{ secrets.SUBMODULE_ACCESS }}
    

    配置后可移除原有的Update submodules步骤,checkout动作会自动拉取所有子模块。

  • 修正手动更新子模块的Git配置
    若要保留手动更新逻辑,去掉配置中多余的:x-oauth-basic,GitHub HTTPS认证中仅需传入PAT作为用户名即可:

    git config --global url."https://${SUBMODULE_ACCESS}@github.com/".insteadOf "https://github.com/"
    
  • 验证PAT权限有效性
    确认PAT已勾选repo权限范围(包含私有仓库的读写/只读权限),且未过期、未被撤销。可在GitHub个人设置的「开发者设置」中查看PAT的权限配置。

内容的提问来源于stack exchange,提问作者zodac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 19:20:12