liveBook · Manning

Pull request

As explained in GitHub Actions in Action: Continuous integration and delivery for DevOps

A pull request is a proposal to review and integrate changes from one repository branch or repository into another.

A pull request (PR) proposes moving completed changes from a feature branch into the main branch. It creates a review point: peers discuss the change, approve it, and then merge it. Used with GitHub Flow, this keeps main deployable while work continues on feature branches. section 8.3.1

Figure 8.4 The GitHub Flow branching strategy

GitHub Flow places the pull request between feature-branch work and merging to main. section 8.3.1

A pull request can act as both a delivery gate and a control point:

  • Trigger quality workflows when changes are proposed for main, including testing and security checks before acceptance. section 8.7
  • Require approval before merging through branch protection rules, preventing direct changes to main. section 11.2
  • Enforce the four-eyes principle, so another person reviews a change before it reaches production. section 8.3.1 section 11.0
  • Apply rules to administrators as well, while relying on audit logs to expose branch-protection changes. section 11.2

Quality-gated merge

A developer compiles changes on a feature branch for fast feedback. When ready, they open a pull request; testing and security workflows assess the proposed change. After the checks and approval succeed, the PR merges to main, triggering container-image creation and publication. section 8.7

Figure 11.4 Branch protection rules

Branch protection settings illustrate how to require pull requests and approvals before merging to main. section 11.2

How GitHub Actions in Action: Continuous integration and delivery for DevOps covers it

How deep it goes
Explains the PR workflow and branch-protection settings, but defers detailed CODEOWNERS configuration.
Examples
Uses a feature branch, peer approval, PR-triggered quality checks, and container-image publication as the delivery path.
What it assumes
Assumes feature branches and a main branch, then explains review, approval, and merge controls.
What you can do after
Operate/configure it by requiring approvals and pull requests before merges to the main branch.
How it connects
Connects GitHub Flow with branch protection, code review, GitHub Actions, security checks, and container images.

Also explained in

Compare how 6 books explain pull request →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of GitHub Actions in Action: Continuous integration and delivery for DevOps. The section links point to the parts of the book it draws on.