Github 在Git Push上创建Pull请求

Github 在Git Push上创建Pull请求,github,github-actions,Github,Github Actions,我有GitHub存储库,它有两个分支:“master”和“develop” 我们的工作流程是,任何代码都应该提交到“develope”分支,然后推送到GitHub,然后创建一个Pull请求,将提交合并到“master”分支 我正在尝试编写一个操作,一旦开发人员将提交推送到分支“develope”并具有以下脚本,该操作将创建一个Pull请求: name: Create pull request on: push: branches: - develop jobs: pr

我有GitHub存储库,它有两个分支:“master”和“develop”

我们的工作流程是,任何代码都应该提交到“develope”分支,然后推送到GitHub,然后创建一个Pull请求,将提交合并到“master”分支

我正在尝试编写一个操作,一旦开发人员将提交推送到分支“develope”并具有以下脚本,该操作将创建一个Pull请求:

name: Create pull request
on:
  push:
    branches:
      - develop
jobs:
  prForMasterBranch:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: master
      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v2
        with:
          commit-message: update master branch
          title: Update master branch
          branch: develop
我可以看到此操作已在“开发”分支的“推送”事件上成功执行,但我看不到任何新的拉请求

我检查了该操作的日志,并在pull请求创建结束时找到以下行:

将请求分支推送到“起源/发展”
分支“开发”不再与基础分支“主”不同
关闭拉取请求并删除分支“开发”

我好像错过了什么,但我想不出来

非常感谢您提供的任何帮助。

如果您查看创建拉取请求操作的

创建拉取请求操作将:

  • 检查操作工作区中的存储库更改。这包括:
    • 未跟踪(新)文件
    • 跟踪(修改)的文件
    • 在工作流期间进行的尚未推送的提交
  • 将所有更改提交到新分支, 或者更新现有的请求分支
  • 创建拉取请求以 将新分支合并到在中签出的分支的基础中 工作流程
它总是需要一个中介分支,以便提交更改

因此,如果您按照以下方式修改工作流配置,添加
重置主分支
步骤,以从远程
开发
分支获取最新更改,并重置
主分支
分支,并为操作指定
分支:临时
,工作流将创建一个
temp
分支,其提交内容与您推送到
development
分支的提交内容相同,并打开一个从
temp
master
分支的请购单。在随后的开发承诺中,它将继续对
temp
分支进行相同的更改,并以类似方式打开PR或更新现有PR

name: Create pull request
on:
  push:
    branches:
      - develop
jobs:
  prForMasterBranch:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: master
      - name: Reset master branch
        run: |
          git fetch origin develop:develop
          git reset --hard develop
      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v2
        with:
          commit-message: update master branch
          title: Update master branch
          branch: temp

请注意,
temp
分支将具有推送到
develope
分支的确切提交。

请参阅感谢您的评论,但是如果我删除了“with:ref:master”,那么create pull请求将如何知道我需要将“develope”分支与哪个分支合并?我的意思是,我想我们应该在什么地方提到“大师”分支,对吗?你是对的,我误解了,它工作得很好,谢谢!