在 PR 中将文件提交到远程分支的工作流程

问题描述 投票:0回答:1

我有一个带有

main
分支和
testing
分支的存储库。我在
testing
分支进行修改,推送,打开PR。这会触发以下工作流程(借自https://stackoverflow.com/a/73687159/659117),该工作流程创建一个文件(例如,来自乳胶文件的 PDF)并提交它:

name: Example workflow
on:

  pull_request:
    branches: [ main ]

jobs:
  example_job:
    runs-on: ubuntu-latest

    permissions:
      contents: write

    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.head_ref }}
      - shell: bash
        run: |
          date > 1.txt
          git config user.name github-actions
          git config user.email [email protected]
          git add 1.txt
          git commit -m "updated"
          git push origin HEAD:${{ github.head_ref }}

到目前为止,一切顺利:文件

1.txt
已创建并添加到分支
testing
,我可以在 PR 中看到提交。

但是,如果我现在对代码(本地)进行另一次更改并推送它,则提交将被拒绝并出现错误:

hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.

我知道我可以通过做

push -f
来覆盖它,但这不是我想要定期做的事情。那么我会建立一个工作流程来执行此操作,而不会遇到这个问题吗?我在这里错过了什么吗?

git github-actions
1个回答
0
投票

您需要将 github-action 所做的更改拉到本地系统上。我想你已经知道了。

在 git 中有本地钩子,您可以创建本地预提交或本地预推送钩子,它们在推送或提交之前自动进行拉取。

© www.soinside.com 2019 - 2024. All rights reserved.