如何通过Github Actions删除文件并推送至develop分支?解决仓库识别报错
问题解决方法
你遇到的错误是因为Github Actions运行环境中没有拉取你的仓库代码,当前目录不是Git仓库,所以执行Git命令会失败。
解决步骤很简单:在执行删除和Git操作前,先添加actions/checkout步骤拉取仓库代码,并且指定要操作的develop分支。
修改后的完整Workflow配置如下:
name: Template Cleanup on: workflow_dispatch: jobs: clean: runs-on: ubuntu-latest steps: # 新增:拉取develop分支的仓库代码 - name: Checkout develop branch uses: actions/checkout@v4 with: ref: develop persist-credentials: false # 避免默认凭证冲突,后续用GITHUB_TOKEN推送 - name: Clean secret management files run: | rm -f \ .github/file.yaml \ .github/file2.yaml \ .github/.gpg \ .github/workflows/workflow.yaml \ .sops.yaml - name: Commit files and push changes run: | git config --global user.email "email@gmail.com" git config --global user.name "github actions" git add . git commit -m "chore: clean repo" # 使用GITHUB_TOKEN推送,无需手动输入密码 git push https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git develop
关键说明:
actions/checkout@v4:官方的拉取代码动作,必须放在所有操作文件的步骤之前,通过ref: develop指定拉取目标分支。persist-credentials: false:关闭默认的凭证存储,避免和后续使用的GITHUB_TOKEN冲突。git push命令中使用${{ secrets.GITHUB_TOKEN }}:这是Github Actions自动生成的临时凭证,拥有仓库的推送权限,比手动填写密码更安全。
内容的提问来源于stack exchange,提问作者nadia univ
相关产品推荐
相关产品推荐

