如何在github操作中推送到另一个存储库?

时间:2020-10-15 14:46:44

标签: git github-actions

在Github Actions中,我试图对与工作流所属的存储库不同的存储库进行一些更改。看到以下代码:

      - name: Generate API module
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |

          git clone https://user:$GITHUB_TOKEN@github.com/owner/my-repo # This works

          cd my-repo
          git config user.name "user"
          git config user.email "dev@example.com"

          git checkout -b api-version-$COMMIT

          touch new-file.sh
          git add new-file.sh
          git commit -m "Add new file"

          git remote -v # Prints:
          # origin ***github.com/owner/my-repo.git (fetch)
          # origin ***github.com/owner/my-repo.git (push)

          git push --set-upstream origin api-version-$COMMIT # This does not work
          git push --set-upstream https://user:$GITHUB_TOKEN@github.com/owner/my-repo api-version-$COMMIT # This does not work either

我可以很好地克隆所有者/存储库。我可以签出新分支,添加文件并提交更改。当我尝试将更改推向上游时,就会出现问题。那根本不起作用,我得到这个错误:

remote: Repository not found.
fatal: repository 'https://github.com/owner/my-repo/' not found

我只是猜测它与身份验证有关。 GITHUB_TOKEN是个人访问令牌,并具有所有可能的权限。

有什么作用?

2 个答案:

答案 0 :(得分:1)

GITHUB_TOKEN也是系统变量,请参见文档here。您的机密与系统之间可能会发生一些冲突。将您的秘密重命名为其他东西可能会起作用。

答案 1 :(得分:0)

不确定您是否能够解决该问题,但我想我会像我一样为将来遇到相同问题的人发布一个潜在的解决方案。 我遇到了同样的问题,最终结果是我试图推送的存储库缺乏编辑权限。 不幸的是,来自 GitHub (remote: Repository not found.) 的错误消息在指出真正的问题方面确实无济于事(我认为这是出于安全目的的混淆问题,但是 - 如果该帐户已经能够clone存储库并对其具有读取权限-混淆有什么意义?这显然是已通过身份验证的用户的授权问题??‍♂️)。 无论哪种方式 - 我都能够通过获得对 repo 的写访问权来解决这个问题。 获得所需的权限后 - 我能够成功推送到该存储库。

相关问题