【问题标题】:What's the difference between a Pull Request and a branch?拉取请求和分支有什么区别?
【发布时间】:2013-09-27 20:49:30
【问题描述】:

GitHubAtlassian Stash 的上下文中,有一个共同的特点是做一个Pull Request。拉取请求和分支有什么区别?拉取请求看起来像是调用分支的另一种方式?

【问题讨论】:

    标签: git github git-branch pull-request bitbucket-server


    【解决方案1】:

    拉取请求表明您希望将分支中的某些更改合并到目标分支。

    一个例子可能是您基于当前开发分支(例如“master”)创建了一个新分支“my-feature”。完成后,您可以将分支推送到远程仓库并创建从“my-feature”到“master”的拉取请求。拉取请求使人们有机会审查更改和评论,您可以在同一分支上推送其他更改以响应将在拉取请求中更新的反馈。当代码可以合并时,有人可以将合并应用到 master 并关闭拉取请求。

    您当然可以在不创建拉取请求的情况下合并分支,但拉取请求的好处在于协作。在 Stash 中,您可以配置谁可以合并到哪些分支,并且需要一定数量的通过构建或批准才能完成合并。在团队环境中,这样的工作流程有助于提高代码质量和开发速度。

    【讨论】:

    • 为什么pull reques 功能不命名为push request。很明显,我们的意图是将 push 你的功能提供给原始大师。
    • @eliu 该名称来自历史上提交更改的方式。提交者通常要求维护者从其他位置拉取他们的更改。虽然现在情况并非总是如此,但这个名字在很大程度上仍然存在。
    • ...另请参阅 git 命令,当拉取请求传统上通过邮件列表而不是通过提供拉取请求体验的应用程序发生时,该命令有助于实现这一点...git-scm.com/docs/git-request-pull
    【解决方案2】:

    Pull requests 让您告诉其他人您已推送到 GitHub 存储库。发送拉取请求后,感兴趣的各方可以 查看更改集,讨论可能的修改,甚至 如有必要,推送后续提交。

    代码的一个单独版本是BRANCH

    【讨论】:

      【解决方案3】:

      分支只是代码的一个单独版本。

      拉取请求是指某人获取 repo,创建自己的分支,进行一些更改,然后尝试合并该分支(将他们的更改放在其他人的代码存储库中)。 (最笼统的说法。)

      【讨论】:

        【解决方案4】:

        有一些工作流程,描述了开发人员如何使用 git 的过程。 其中之一是Feature Branch Workflow

        功能分支工作流背后的核心思想是所有功能 开发应该在一个专门的分支而不是 主分支。

        封装功能开发还可以利用 拉取请求。 详细示例可以在Feature Branches and Pull Requests : Walkthrough找到

        有一个类似的GitHub Standard Fork & Pull Request Workflow(或只是Pull request workflow),而不是在您自己的存储库中创建一个分支,而是从其他存储库创建一个分支。

        有些人不区分这些概念,并互换使用术语“功能分支工作流”和“拉取请求工作流”。这可能会让其他人感到困惑。

        【讨论】:

          猜你喜欢
          • 2016-05-02
          • 1970-01-01
          • 1970-01-01
          • 2019-07-07
          • 2019-12-06
          • 1970-01-01
          • 2017-10-04
          • 2015-07-04
          • 2020-09-16
          相关资源
          最近更新 更多