如何通过GitHub Actions仅检出远程仓库的单个文件夹/文件
仅检出GitHub仓库指定文件夹到Windows环境的GitHub Actions Runner
我在Windows环境下使用GitHub Actions Runner,想要从mytech/betech仓库的mm365分支中,只把scripts文件夹检出到current-folder\betech目录,但实际却检出了整个仓库内容。
最初尝试的配置
我曾尝试以下配置,但未达到预期效果:
- name: Checkout just the scripts folder uses: actions/checkout@v3 with: repository: mytech/betech ref: mm365 path: betech token: ${{ secrets.MYGITHUBTOKEN }} - name: Configure Sparse Checkout run: | echo "scripts/*" >> .git/info.sparse-checkout git read-tree -mu HEAD working-directory: betech env: token: ${{ secrets.MYGITHUBTOKEN }} secrets: inherit
对应的sparse-checkout文件内容如下:
cat betech\.git\info.sparse-checkout scripts/*
成功实现需求的配置
经过调整,以下配置可以成功仅检出scripts文件夹:
- name: Checkout just the scripts folder uses: actions/checkout@v3 with: repository: mytech/betech ref: mm365 path: betech sparse-checkout: | scripts sparse-checkout-cone-mode: false token: ${{ secrets.MYGITHUBTOKEN }}
单个文件检出方法
如果需要仅检出单个文件,只需修改sparse-checkout字段为具体文件路径即可,示例如下:
- name: Checkout single file uses: actions/checkout@v3 with: repository: mytech/betech ref: mm365 path: betech sparse-checkout: | scripts/your-target-file.ps1 sparse-checkout-cone-mode: false token: ${{ secrets.MYGITHUBTOKEN }}
内容的提问来源于stack exchange,提问作者Ashar
相关产品推荐
相关产品推荐

