Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ Commits and tags have the following verification statuses, depending on whether
| **Unverified** | The commit is signed but the signature could not be verified.
| No verification status | The commit is not signed.

### Signature verification for rebase and merge
{% data reusables.pull_requests.rebase_and_merge_verification %}

For more information, see "[Rebasing and merging your commits](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github#rebasing-and-merging-your-commits)."

### Statuses with vigilant mode enabled

{% data reusables.identity-and-permissions.vigilant-mode-verification-statuses %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ A time-based one-time password (TOTP) application automatically generates an aut
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.security %}
{% data reusables.two_fa.enable-two-factor-authentication %}
{%- ifversion fpt or ghes > 3.1 %}
{%- ifversion fpt or ghec or ghes > 3.1 %}
5. Under "Two-factor authentication", select **Set up using an app** and click **Continue**.
6. Under "Authentication verification", do one of the following:
- Scan the QR code with your mobile device's app. After scanning, the app displays a six-digit code that you can enter on {% data variables.product.product_name %}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ The recommended formats explicitly define which versions are used for all direct
{%- if github-actions-in-dependency-graph %}
| {% data variables.product.prodname_actions %} workflows<sup>[1]</sup> | YAML | `.yml`, `.yaml` | `.yml`, `.yaml` |
{%- endif %}
{%- ifversion fpt or ghes > 3.2 or ghae %}
{%- ifversion fpt or ghec or ghes > 3.2 or ghae %}
| Go modules | Go | `go.sum` | `go.mod`, `go.sum` |
{%- elsif ghes = 3.2 %}
| Go modules | Go | `go.mod` | `go.mod` |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,6 @@ For more information, see "[Configuring commit squashing for pull requests](/art

Before enabling commit rebasing, consider these disadvantages:
- Repository contributors may have to rebase on the command line, resolve any conflicts, and force push their changes to the pull request's topic branch (or remote head branch) before they can use the **rebase and merge** option on {% data variables.product.product_location %}. Force pushing must be done carefully so contributors don't overwrite work that others have based their work on. To learn more about when the **Rebase and merge** option is disabled on {% data variables.product.product_location %} and the workflow to re-enable it, see "[About pull request merges](/articles/about-pull-request-merges/#rebase-and-merge-your-pull-request-commits)."
- {% indented_data_reference reusables.pull_requests.rebase_and_merge_verification spaces=3 %}

For more information, see "[Configuring commit rebasing for pull requests](/articles/configuring-commit-rebasing-for-pull-requests)."
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ When you create a branch rule, the branch you specify doesn't have to exist yet
![Loose or strict required status checkbox](/assets/images/help/repository/protecting-branch-loose-status.png)
- Search for status checks, selecting the checks you want to require.
![Search interface for available status checks, with list of required checks](/assets/images/help/repository/required-statuses-list.png)
{%- ifversion fpt or ghes > 3.1 or ghae %}
{%- ifversion fpt or ghec or ghes > 3.1 or ghae %}
1. Optionally, select **Require conversation resolution before merging**.
![Require conversation resolution before merging option](/assets/images/help/repository/require-conversation-resolution.png)
{%- endif %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Automatically generated release notes provide an automated alternative to manual
![Providing a DMG with the Release](/assets/images/help/releases/releases_adding_binary.gif)
10. To notify users that the release is not ready for production and may be unstable, select **This is a pre-release**.
![Checkbox to mark a release as prerelease](/assets/images/help/releases/prerelease_checkbox.png)
{%- ifversion fpt %}
{%- ifversion fpt or ghec %}
11. Optionally, select **Create a discussion for this release**, then select the **Category** drop-down menu and click a category for the release discussion.
![Checkbox to create a release discussion and drop-down menu to choose a category](/assets/images/help/releases/create-release-discussion.png)
{%- endif %}
Expand Down
128 changes: 52 additions & 76 deletions content/rest/overview/permissions-required-for-github-apps.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{%- ifversion fpt or ghes > 3.1 or ghae-issue-4910 %}issues, pull requests, releases, security alerts, or discussions
{%- ifversion fpt or ghec or ghes > 3.1 or ghae-issue-4910 %}issues, pull requests, releases, security alerts, or discussions
{%- else %}issues, pull requests, releases, or discussions<!-- `else` statement probably not picked up by GHES 3.1 deprecation script. Will need to review here -->
{% endif %}
5 changes: 5 additions & 0 deletions data/reusables/pull_requests/rebase_and_merge_verification.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
When using the **Rebase and Merge** option on a pull request, it's important to note that the commits in the head branch are added to the base branch without commit signature verification.
When you use this option, {% data variables.product.prodname_dotcom %} creates a modified commit, using the data and content of the original commit. This means that{% data variables.product.prodname_dotcom %} didn't truly create this commit, and can't therefore sign it as a generic system user.
{% data variables.product.prodname_dotcom %} doesn't have access to the committer's private signing keys, so it can't sign the commit on the user's behalf.

A workaround for this is to rebase and merge locally, and then push the changes to the pull request's base branch.