Introduction


Figure 1

Decorative image from Undraw.co to visualize a version control pipeline

Figure 2

From Freira et al.: Visualization of the GitHub development workflow with PRs. Workflow goes from Developer to Clone to Create a Branch to individual commits to Create Pull Request to Discussion/Project Community, ending with Merge or close the PR

Figure 3

INTERSECT training repository navigation bar, showing, from left to right: Code, Issues, Pull Requests, Actions, Projects, Security, Insights

Basic Pull Requests


Figure 1

On a README file, the File edit button in the top-right is highlighted

Figure 2

Commit changes pop-up dialog with the sections Commit message, Extended commit message, and the radio option for "Commit directly to `main`" or "Create a new branch" circled

Figure 3

Commit changes pop-up dialog, zoomed in on the "Create a new branch" radio button when clicked, which defaults a branch name that can be changed

Figure 4

Open a pull request page loaded - shows the commit message from the previous step as the Title, empty "Write" section

Figure 5

Newly opened PR with proposed changes - main page shows the Title, description, list of commits, and merge options

Figure 6

Comment box on a Pull Request - Write section includes a statement, "I am writing a comment on this PR"

Figure 7

An image using the pound symbol (#) to pop-up options for linking other Issues or Pull Requests

Figure 8

An image showing the pop-up to a linked issue. The pop-up shows a small preview of the linked issue that includes the title and some portion of the description.

Figure 9

Information block on the right-hand side that includes reviewers, assignees, labels, projects

Figure 10

The merge options on the example PR that shows that the branch has no conflicts and the "Merge pull request" button highlighted

Figure 11

Merge PR dropdown with three options - Create a merge commit, Squash and merge, Rebase and merge

Figure 12

Confirm merge dialog box - shows the merge commit message, an extended message, and a button to confirm the merge

Labels and Templates


Figure 1

The PR page with the labels option ("Labels - 9") highlighted

Figure 2

Display of the "Apply Labels" dropdown from the main Pull requests page - shows all of the label colors and names

Figure 3

Cog-wheel option selected to reveal the label dropdown within a single pull request

Figure 4

Through the GitHub GUI, "Add file" button selected, with "Create new file" highlighted, within the .github directory

Figure 5

New PR with the template above - default Title, Write section includes Description, checklist, and extra Markdown comment that won't render in the preview

'Good' Pull Requests


Code Reviews


Figure 1

Reviewers menu on a Pull Request - includes the text "Select up to 15 reviewers" and a search bar in which a user can start type a GitHub handle

Figure 2

The Pull Request main page with the "Files Changed" tab (far-right option) circled

Figure 3

Small example of what the plus (+) symbol looks like for adding comments to a specific line on a PR

Figure 4

The pop-up dialog to add a comment on Line 6 - includes a Write and Preview section plus buttons to Cancel, Add single comment, and Start a review

Figure 5

Files changed page with review button highlighted

Figure 6

An image displaying the main Pull request page (Conversation), on which the review comments appear lumped together with a preview of each line/comment in its own box

Figure 7

An image displaying the Files changed page, on which the review comments appear on each line on which they were added