Может ли git ls-remote использовать переменные GITHUB? Ошибка: процесс завершен с кодом выхода 2

Код действия:

      jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout codes
        uses: actions/checkout@v2
      - name: Test git for actions
        shell: bash
        run: |
          ## use GitHub variables, such as: GITHUB_REF,GITHUB_HEAD_REF..
          BRANCH=${GITHUB_REF##*/}
          branch=$BRANCH
          git ls-remote --heads --exit-code repo_url "$branch" >/dev/null
          if [ "$?" == "1" ]
          then 
            echo "Branch doesn't exist"
          else
            echo "Branch exist"
          fi

Произойдет следующая ошибка:

        BRANCH=${GITHUB_REF##*/}
  branch=${BRANCH}
  echo $branch
  git ls-remote --heads --exit-code repo_url "$branch" >/dev/null
  if [ "$?" == "1" ]
  then 
    echo "Branch doesn't exist"
  else
    echo "Branch exist"
  fi

  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
main
Error: Process completed with exit code 2.

Когда я заменю${GITHUB_REF}сmain, работает нормально.

      jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Test git for actions
        shell: bash
        run: |
          ## use GitHub variables, such as: GITHUB_REF,GITHUB_HEAD_REF..
          BRANCH=${GITHUB_REF##*/}
          branch=main
          git ls-remote --heads --exit-code repo_url "$branch" >/dev/null
          if [ "$?" == "1" ]
          then 
            echo "Branch doesn't exist"
          else
            echo "Branch exist"
          fi

Выход:

        BRANCH=${GITHUB_REF##*/}
  branch=main
  echo $branch
  git ls-remote --heads --exit-code repo_url "$branch" >/dev/null
  if [ "$?" == "1" ]
  then 
    echo "Branch doesn't exist"
  else
    echo "Branch exist"
  fi
main
Branch exist

Этоgit ls-remoteкоманда не может использовать переменные?

Я хочу проверить, существует ли определенная ветка на удаленном складе в GitHub Actions.

0 ответов

Другие вопросы по тегам