GitHub Actions无法推送到test仓库,步骤序列是否有误?
问题分析与解决方案
你的问题核心是未切换到test仓库的工作目录,GitHub Actions默认在第一个checkout的myCurrentRepo根目录执行所有命令,即便后续拉取了test仓库到test文件夹,不手动切换目录的话,所有操作仍会在原仓库中执行。
具体错误点:
npm i:默认在myCurrentRepo根目录执行,完全不会影响test仓库的依赖git commit/push:在myCurrentRepo仓库内执行推送操作,自然会报错推送到错误的仓库地址
修正方案:
给需要操作test仓库的步骤指定工作目录,或者在命令内先切换到test文件夹。
修改后的关键步骤示例:
# ... 前面的步骤保持不变 - name: Run script run: sh ${{ env.SCRIPT_DOT_SH }} # 若脚本需操作test仓库,需在脚本内添加`cd test`,或给此步骤加上`working-directory: test` - name: update dependencies working-directory: test # 指定在test仓库目录执行npm i run: npm i - name: Commit change working-directory: test # 切换到test仓库目录执行git操作 run: | git config --global user.name 'someone' git config --global user.email 'someone@myOrg.com' git commit -am "some words" git push origin develop
补充说明:
如果你的SCRIPT_DOT_SH脚本也是用于操作test仓库的,同样需要给该步骤添加working-directory: test参数,或者在脚本内部先执行cd test命令。
内容的提问来源于stack exchange,提问作者Vienna J
相关产品推荐
相关产品推荐

