首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Git推送上创建拉请求

在Git推送上创建拉请求
EN

Stack Overflow用户
提问于 2020-06-03 12:35:43
回答 2查看 3K关注 0票数 4

我有有两个分支的GitHub存储库:"master“& "develop”。

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

我正在尝试编写一个Action,一旦开发人员将提交到分支“developer”并具有以下脚本,它将创建一个拉请求:

代码语言:javascript
运行
复制
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

我可以看到,这一行动已经成功地执行了“推送”事件的“开发”分支,但我看不到任何新的拉请求!

我检查了操作的日志,并在请求创建的末尾找到了这些行:

将拉出请求分支推到“原始/开发” 分支‘发展’不再与基础分支‘主人’不同 关闭拉请求并删除分支机构“发展”

我好像漏掉了什么东西,但弄不清楚。

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-03 18:27:54

如果您查看创建-拉-请求操作的文档,它会提到

创建拉请求操作将:

  • 检查操作工作区中的存储库更改。这包括:
    • 未跟踪(新)文件-跟踪(修改)文件-提交在工作流期间未被推送的

  • 将所有更改提交到新分支,或更新现有的拉请求分支。
  • 创建一个拉请求,将新分支合并到基础中--分支在工作流中签出。

它总是需要一个中间分支,在那里它可以提交更改。

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

代码语言:javascript
运行
复制
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@v4
        with:
          commit-message: update master branch
          title: Update master branch
          branch: temp
          delete-branch: true
          assignees: user-you-want-to
          reviewers: user-you-want-to

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

票数 6
EN

Stack Overflow用户

发布于 2022-06-23 10:27:04

PR无中间分支

替换

你想要的团队

你想要的用户

如果需要的话,使用您希望分配的团队或用户,如果不对它们进行注释的话。

代码语言:javascript
运行
复制
name: Create pull request
on:
  push:
    branches:
      - develop
jobs:
  reatePullRequest:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: master
      - name: Get latest changes
        run: |
          git fetch origin develop:develop
          git reset --hard develop
      - name: Create Pull Request
        id: cpr
        uses: peter-evans/create-pull-request@v4
        with:
          commit-message: Update master
          committer: GitHub <noreply@github.com>
          author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
          signoff: false
          branch: develop
          title: 'Updating master'
          labels: |
            update
          reviewers: user-you-want-to
          team-reviewers: |
            team-you-want-to
          draft: false
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62172994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档