git clone
するとき、URL の中にパスワードとかアクセストークンを埋め込んで認証できる。自動化処理の中で使うのに便利。
URL の user/password の部分の書式にバリエーションがあって何が正解かはっきりしないが、おおむね以下のような形。
git clone https://x-access-token:$TOKEN@github.com/owner/repo
GitHub Actions ワークフローの中で実行すると、$TOKEN
という環境変数にアクセストークンが入ってるにも関わらず、
fatal: could not read Username for 'https://github.com': No such device or address
みたいなエラーで git clone
できないことがある。
git clone
の実行前に git credential helper をセットしてやるとうまくいく。
git config --global credential.helper cache
全体像
name: clone on: workflow_dispatch: jobs: clone: runs-on: ubuntu-latest steps: - run: | git config --global credential.helper cache git clone https://x-access-token:$GITHUB_ENTERPRISE_TOKEN@github.com/owner/repo env: TOKEN: ${{secrets.MY_TOKEN}}