如何使用Pull请求工作流使用Github发布功能

如何使用Pull请求工作流使用Github发布功能,github,pull-request,github-release,Github,Pull Request,Github Release,我在Github有一个项目,所有团队都使用Pull请求工作流。因此,每个开发人员都有一个主存储库分支 解决添加新功能问题的过程如下所示: 开发人员在其本地存储库中创建一个分支(来自master的Fork) 开发人员开始编写解决问题的票证 开发人员完成票据后,将更改提交到本地回购协议,并将更改推送到Github中的Fork 然后,他请求该分支向Master发出拉取请求 团队负责人访问主存储库并验证拉取请求,接受更改并将其合并到主存储库 当我们要发布时,发布的代码来自主回购协议,但我们希望像主回购协

我在Github有一个项目,所有团队都使用Pull请求工作流。因此,每个开发人员都有一个主存储库分支

解决添加新功能问题的过程如下所示:

  • 开发人员在其本地存储库中创建一个分支(来自master的Fork)
  • 开发人员开始编写解决问题的票证
  • 开发人员完成票据后,将更改提交到本地回购协议,并将更改推送到Github中的Fork
  • 然后,他请求该分支向Master发出拉取请求
  • 团队负责人访问主存储库并验证拉取请求,接受更改并将其合并到主存储库
  • 当我们要发布时,发布的代码来自主回购协议,但我们希望像主回购协议中的代码基线一样发布,以便接受并合并到主回购协议中的任何其他拉动请求不会更改我们要发布的代码

    我们是否可以使用Github的发布功能在某个时刻复制主repo代码,并保持代码不变,即使某些新的拉取请求合并到主repo中


    要回答您的问题,是的,您可以在发布时执行此操作。GitHub版本实际上只是git标签。你不能(据我所知)创建带有PR的发布,但你可以使用标签:

    $ git checkout master
    $ git pull origin master
    $ git tag v1.2.3
    $ git push origin master --tags
    
    现在,您将在GitHub的“发布”部分看到v1.2.3。您可以对其进行编辑,使其更加详细,附加二进制文件等

    标记的工作方式与分支不同,但如果需要,可以轻松地从标记生成分支

    确保已获取标记:

    git fetch --all --tags --prune
    
    然后签出标记并创建一个新分支:

    git checkout tags/<tag_name> -b <branch_name>
    
    git签出标签/-b
    
    谢谢Jaime,有没有办法在发布中包含一个特定的分支?嘿@VAAA,我真的不知道你的意思。您可以
    git checkout
    ,然后
    git tagv1.2.3
    然后
    git push origin--tags
    ?因此您的意思是更好地从发行版创建一个“发布分支1.0”,然后我可以将我的热修复分支合并到“发布分支1.0”中,对吗?是的,并且只有在需要时才这样做,因此,并非每个版本都有分支——只有那些需要热修复的版本