GitHub操作:错误:无法读取“https://www.example.com”的用户名github.com:设备未配置

wfsdck30  于 2023-03-28  发布在  Git
关注(0)|答案(1)|浏览(220)

我试图在私有仓库上使用Github Action创建git clone,但我不确定如何配置它以使用SSH连接到GitHub。顺便说一下,它是一个macOS运行器。
此时,actions/checkout工作正常,但当我直接调用git clone时,抛出了这个错误。
.yml文件如下所示:

name: Release IOS
on: 
  push:
    branches:
      - github-action
jobs:
  build:
    name: Build IPA and upload to TestFlight
    runs-on: macos-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          ref: ${{ github.head_ref }}
      - name: Check Github User
        run: |
          git --version
          git config user.name 'MyUsername'
          git config user.email 'MyEmail'
          git config user.name
          git config user.email
        env:
          NODE_AUTH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 14.17.0
        env:
          NODE_AUTH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
      - name: Set up SSH
        uses: pioug/la-cle@v1.1.0
        with:
          GH_SSH_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
      - name: Try copy a private repo
        run: git clone https://github.com/MyUsername/MyRepo.git
kh212irz

kh212irz1#

正如@torek所指出的,错误是试图从您的终端读取凭据,因为它耗尽了其他选项(配置等)。
由于您在上一步中设置了ssh,因此您的意图似乎是使用ssh,因此您应该将url更改为ssh。

run: git clone git@github.com:MyUsername/MyRepo.git

请注意,还有其他选项。您仍然可以使用https,但可以使用git extraheader cli选项沿着PAT。这实际上是我们在常见情况下在actions/checkout中所做的。
https://www.codegrepper.com/code-examples/shell/How+do+I+clone+a+git+repository+with+extraHeader
从该网站的完整性:

PAT="mypat123"
REPO_URL=https://myorg@dev.azure.com/myorg/myrepo/_git/myrepo/"
AUTH=$(echo -n "x-access-token:$PAT" | openssl base64 | tr -d '\n')
git -c http.$REPO_URL.extraheader="Authorization: Basic $AUTH" clone $REPO_URL --no-checkout --branch master

基本上,你让它传递你的PAT作为一个base64编码的头。

相关问题