diff --git a/app/views/projects/branch_defaults/_branch_names_fields.html.haml b/app/views/projects/branch_defaults/_branch_names_fields.html.haml
index 65f975fbd9e3d8fc36275028b4f10326d39b3c75..393b19e6c5a1822d45a8831679481e9b2358b186 100644
--- a/app/views/projects/branch_defaults/_branch_names_fields.html.haml
+++ b/app/views/projects/branch_defaults/_branch_names_fields.html.haml
@@ -10,5 +10,5 @@
         %p.form-text.text-muted
           = s_('ProjectSettings|Leave empty to use default template.')
           = sprintf(s_('ProjectSettings|Maximum %{maxLength} characters.'), { maxLength: Issue::MAX_BRANCH_TEMPLATE })
-          - branch_name_help_link = help_page_path('user/project/repository/web_editor.md', anchor: 'create-a-new-branch-from-an-issue')
+          - branch_name_help_link = help_page_path('user/project/merge_requests/creating_merge_requests.md', anchor: 'from-an-issue')
           = link_to _('What variables can I use?'), branch_name_help_link, target: "_blank"
diff --git a/doc/api/projects.md b/doc/api/projects.md
index 7906b491814745cc53b549364b96c0411d410864..54d47cbe41ddf31a62f6def81b6c35b2b162b273 100644
--- a/doc/api/projects.md
+++ b/doc/api/projects.md
@@ -1348,7 +1348,7 @@ POST /projects/user/:user_id
 | `shared_runners_enabled`                                    | boolean | **{dotted-circle}** No | Enable shared runners for this project. |
 | `snippets_access_level`                                     | string  | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
 | `snippets_enabled`                                          | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. |
-| `issue_branch_template`                                     | string  | **{dotted-circle}** No | Template used to suggest names for [branches created from issues](../user/project/repository/web_editor.md#create-a-new-branch-from-an-issue). _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/21243) in GitLab 15.6.)_ |
+| `issue_branch_template`                                     | string  | **{dotted-circle}** No | Template used to suggest names for [branches created from issues](../user/project/merge_requests/creating_merge_requests.md#from-an-issue). _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/21243) in GitLab 15.6.)_ |
 | `squash_commit_template`                                    | string  | **{dotted-circle}** No | [Template](../user/project/merge_requests/commit_templates.md) used to create squash commit message in merge requests. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/345275) in GitLab 14.6.)_ |
 | `squash_option`                                             | string  | **{dotted-circle}** No | One of `never`, `always`, `default_on`, or `default_off`. |
 | `suggestion_commit_message`                                 | string  | **{dotted-circle}** No | The commit message used to apply merge request [suggestions](../user/project/merge_requests/reviews/suggestions.md). |
@@ -1458,7 +1458,7 @@ Supported attributes:
 | `shared_runners_enabled`                                    | boolean        | **{dotted-circle}** No | Enable shared runners for this project. |
 | `snippets_access_level`                                     | string         | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
 | `snippets_enabled`                                          | boolean        | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. |
-| `issue_branch_template`                                     | string         | **{dotted-circle}** No | Template used to suggest names for [branches created from issues](../user/project/repository/web_editor.md#create-a-new-branch-from-an-issue). _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/21243) in GitLab 15.6.)_ |
+| `issue_branch_template`                                     | string         | **{dotted-circle}** No | Template used to suggest names for [branches created from issues](../user/project/merge_requests/creating_merge_requests.md#from-an-issue). _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/21243) in GitLab 15.6.)_ |
 | `squash_commit_template`                                    | string         | **{dotted-circle}** No | [Template](../user/project/merge_requests/commit_templates.md) used to create squash commit message in merge requests. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/345275) in GitLab 14.6.)_ |
 | `squash_option`                                             | string         | **{dotted-circle}** No | One of `never`, `always`, `default_on`, or `default_off`. |
 | `suggestion_commit_message`                                 | string         | **{dotted-circle}** No | The commit message used to apply merge request suggestions. |
diff --git a/doc/user/project/merge_requests/creating_merge_requests.md b/doc/user/project/merge_requests/creating_merge_requests.md
index eae4db2d4f7c7cb36ba5233a7e15b94ae5233f59..542edc11c441471f5d5f0d971b3fbdc2d2cb2219 100644
--- a/doc/user/project/merge_requests/creating_merge_requests.md
+++ b/doc/user/project/merge_requests/creating_merge_requests.md
@@ -29,7 +29,54 @@ be associated with a given target branch at a time.
 
 ## From an issue
 
-You can [create a merge request from an issue](../repository/web_editor.md#create-a-new-branch-from-an-issue).
+> The **Create merge request** button [changed](https://gitlab.com/gitlab-org/gitlab/-/issues/349566) to open the merge request creation form in GitLab 14.8.
+
+If your development workflow requires an issue for every merge
+request, you can create a branch directly from the issue to speed the process up.
+The new branch, and later its merge request, are marked as related to this issue.
+After merging the merge request, the issue is closed automatically, unless [automatic issue closing is disabled](../issues/managing_issues.md#disable-automatic-issue-closing).
+You can see a **Create merge request** dropdown below the issue description.
+
+NOTE:
+In GitLab 14.8 and later, selecting **Create merge request**
+[redirects to the merge request creation form](https://gitlab.com/gitlab-org/gitlab/-/issues/349566)
+instead of immediately creating the merge request.
+
+The **Create merge request** button doesn't display if:
+
+- A branch with the same name already exists.
+- A merge request already exists for this branch.
+- Your project has an active fork relationship.
+- Your project is private and the issue is confidential.
+
+To make this button appear, one possible workaround is to
+[remove your project's fork relationship](../settings/index.md#remove-a-fork-relationship).
+After removal, the fork relationship cannot be restored. This project can no longer
+be able to receive or send merge requests to the source project, or other forks.
+
+This dropdown contains the options **Create merge request and branch** and **Create branch**.
+
+After selecting one of these options, a new branch or branch and merge request
+is created based on your project's [default branch](../repository/branches/default.md).
+The branch name is based on an internal ID, and the issue title. The example
+screenshot above creates a branch named
+`2-make-static-site-auto-deploy-and-serve`.
+
+When you select the **Create branch** button in an empty
+repository project, GitLab performs these actions:
+
+- Creates a default branch.
+- Commits a blank `README.md` file to it.
+- Creates and redirects you to a new branch based on the issue title.
+- _If your project is [configured with a deployment service](../integrations/index.md) like Kubernetes,_
+  GitLab prompts you to set up [auto deploy](../../../topics/autodevops/stages.md#auto-deploy)
+  by helping you create a `.gitlab-ci.yml` file.
+
+After the branch is created, you can edit files in the repository to fix
+the issue. When a merge request is created based on the newly-created branch,
+the description field displays the [issue closing pattern](../issues/managing_issues.md#closing-issues-automatically)
+`Closes #ID`, where `ID` is the ID of the issue. This closes the issue when the
+merge request is merged.
 
 ## When you add, edit, or upload a file
 
diff --git a/doc/user/project/merge_requests/getting_started.md b/doc/user/project/merge_requests/getting_started.md
index dd9f09eb1e087a9a2cf9828acbd83758e6d0b9ef..58750cdf5bc906e94b4f4928b0c6081a44ce7a99 100644
--- a/doc/user/project/merge_requests/getting_started.md
+++ b/doc/user/project/merge_requests/getting_started.md
@@ -108,7 +108,7 @@ To create a merge request to close an issue when it's merged, you can either:
     choose any name, and GitLab verifies that it's not already in use. The merge request
     inherits the milestone and labels of the issue, and is set to automatically
     close the issue when it is merged.
-  - Create a [new branch](../repository/web_editor.md#create-a-new-branch-from-an-issue)
+  - Create a [new branch](creating_merge_requests.md#from-an-issue)
     only, with its name starting with the issue number.
 
 If the issue is [confidential](../issues/confidential_issues.md),
diff --git a/doc/user/project/repository/branches/index.md b/doc/user/project/repository/branches/index.md
index 83885a5fc7074a2ebe05d58667e25ef4b3867208..4e3510c49b7e79c8a39a33b198a1c2c21de17563 100644
--- a/doc/user/project/repository/branches/index.md
+++ b/doc/user/project/repository/branches/index.md
@@ -27,7 +27,7 @@ For more information on managing branches using the GitLab UI, see:
 - [Default branches](default.md): When you create a new [project](../../index.md), GitLab creates a
   default branch for the repository. You can change this setting at the project,
   subgroup, group, or instance level.
-- [Create a branch](../web_editor.md#create-a-new-branch)
+- [Create a branch](../web_editor.md#create-a-branch)
 - [Protected branches](../../protected_branches.md#protected-branches)
 - [Delete merged branches](#delete-merged-branches)
 - [Branch filter search box](#branch-filter-search-box)
diff --git a/doc/user/project/repository/img/web_editor_new_branch_dropdown_v14_1.png b/doc/user/project/repository/img/web_editor_new_branch_dropdown_v14_1.png
deleted file mode 100644
index df5e803d77a020dd2f2ad5aa883f821c7028732c..0000000000000000000000000000000000000000
Binary files a/doc/user/project/repository/img/web_editor_new_branch_dropdown_v14_1.png and /dev/null differ
diff --git a/doc/user/project/repository/img/web_editor_new_branch_from_issue_create_button_v14_1.png b/doc/user/project/repository/img/web_editor_new_branch_from_issue_create_button_v14_1.png
deleted file mode 100644
index fae0fc1425b9185ba8154c2d6a8c16af97cdb7c7..0000000000000000000000000000000000000000
Binary files a/doc/user/project/repository/img/web_editor_new_branch_from_issue_create_button_v14_1.png and /dev/null differ
diff --git a/doc/user/project/repository/img/web_editor_new_branch_from_issue_v14_1.png b/doc/user/project/repository/img/web_editor_new_branch_from_issue_v14_1.png
deleted file mode 100644
index 732173d9c1b8ffe27a65e2d33e3d663c3344c19f..0000000000000000000000000000000000000000
Binary files a/doc/user/project/repository/img/web_editor_new_branch_from_issue_v14_1.png and /dev/null differ
diff --git a/doc/user/project/repository/img/web_editor_new_branch_page_v14_1.png b/doc/user/project/repository/img/web_editor_new_branch_page_v14_1.png
deleted file mode 100644
index cba15631fa8a192bf79dc93312505b3dceb1b543..0000000000000000000000000000000000000000
Binary files a/doc/user/project/repository/img/web_editor_new_branch_page_v14_1.png and /dev/null differ
diff --git a/doc/user/project/repository/img/web_editor_new_push_widget.png b/doc/user/project/repository/img/web_editor_new_push_widget.png
deleted file mode 100644
index 8957b5d6a6bfb9dac5f0c0e522b8c492f6bc5eef..0000000000000000000000000000000000000000
Binary files a/doc/user/project/repository/img/web_editor_new_push_widget.png and /dev/null differ
diff --git a/doc/user/project/repository/img/web_editor_start_new_merge_request.png b/doc/user/project/repository/img/web_editor_start_new_merge_request.png
deleted file mode 100644
index 85f4769661a6210df12d4ae2bedab7d6d4368fbd..0000000000000000000000000000000000000000
Binary files a/doc/user/project/repository/img/web_editor_start_new_merge_request.png and /dev/null differ
diff --git a/doc/user/project/repository/index.md b/doc/user/project/repository/index.md
index 13015c3f99319625a7fd85ec067b788e0beda424..c4d09cb13a6a31cc4435d088e95d9eb83d35c854 100644
--- a/doc/user/project/repository/index.md
+++ b/doc/user/project/repository/index.md
@@ -265,7 +265,6 @@ to fetch configuration from a project that is renamed or moved.
 - [Find files](file_finder.md) in a repository.
 - [Branches](branches/index.md).
 - [Create a directory](web_editor.md#create-a-directory).
-- [Start a merge request](web_editor.md#tips).
 - [Find file history](git_history.md).
 - [Identify changes by line (Git blame)](git_blame.md).
 - [Use Jupyter notebooks with GitLab](jupyter_notebooks/index.md).
diff --git a/doc/user/project/repository/web_editor.md b/doc/user/project/repository/web_editor.md
index 1c18824160f144f2e9f0daf98be4c1ed8c64a796..b5b2b8aaae95dbe8b1522ebe2e31819e23d07f71 100644
--- a/doc/user/project/repository/web_editor.md
+++ b/doc/user/project/repository/web_editor.md
@@ -6,16 +6,27 @@ info: To determine the technical writer assigned to the Stage/Group associated w
 
 # Web Editor **(FREE)**
 
-You can use the Web Editor to make changes directly from the UI instead of
+You can use the Web Editor to make changes directly from the GitLab UI instead of
 cloning a project and using the command line.
-From any project page, you can create a file, directory, branch, or tag.
+
+From the project dashboard or repository, you can:
+
+- [Create a file](#create-a-file).
+- [Edit a file](#edit-a-file).
+- [Upload a file](#upload-a-file).
+- [Create a directory](#create-a-directory).
+- [Create a branch](#create-a-branch).
+- [Create a tag](#create-a-tag).
+
+Your [primary email address](../../../user/profile/index.md#change-the-email-displayed-on-your-commits)
+is used by default for any change you commit through the Web Editor.
 
 ## Create a file
 
 To create a text file in the Web Editor:
 
 1. On the top bar, select **Main menu > Projects** and find your project.
-1. On the project page, next to the branch name, select the plus icon (**{plus}**).
+1. From the project dashboard or repository, next to the branch name, select the plus icon (**{plus}**).
 1. From the dropdown list, select **New file**.
 1. Complete the fields.
    - From the **Select a template type** dropdown list, you can apply a template to the new file.
@@ -35,7 +46,7 @@ To edit a file in the Web Editor:
 When you [edit a file](#edit-a-file) in the Web Editor, you can use the same keyboard shortcuts for the Web IDE.
 See the [available shortcuts](../../shortcuts.md#web-ide).
 
-## Preview Markdown
+### Preview Markdown
 
 > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/378966) in GitLab 15.6.
 
@@ -53,18 +64,17 @@ To close the preview panel, do one of the following:
 - Select the **Write** tab.
 - From the context menu, select **Hide Live Preview**.
 
-## Highlight lines
+### Link to specific lines
 
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56159) in GitLab 13.10 for GitLab SaaS instances.
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56159) in GitLab 13.11 for self-managed instances.
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56159) in GitLab 13.11.
 
-To highlight single or multiple lines in the Web Editor, add hash
+To link to single or multiple lines in the Web Editor, add hash
 information to the filename segment of the URL. For example:
 
 - `MY_FILE.js#L3` highlights line 3 in `MY_FILE.js`.
 - `MY_FILE.js#L3-10` highlights lines 3 to 10 in `MY_FILE.js`.
 
-To highlight a single line, you can also:
+To link to a single line, you can also:
 
 1. [Edit a file](#edit-a-file).
 1. Select a line number.
@@ -74,7 +84,7 @@ To highlight a single line, you can also:
 To upload a binary file in the Web Editor:
 
 1. On the top bar, select **Main menu > Projects** and find your project.
-1. On the project page, next to the branch name, select the plus icon (**{plus}**).
+1. From the project dashboard or repository, next to the branch name, select the plus icon (**{plus}**).
 1. From the dropdown list, select **Upload file**.
 1. Complete the fields. To create a merge request with the uploaded file, ensure the **Start a new merge request with these changes** toggle is turned on.
 1. Select **Upload file**.
@@ -84,131 +94,28 @@ To upload a binary file in the Web Editor:
 To create a directory in the Web Editor:
 
 1. On the top bar, select **Main menu > Projects** and find your project.
-1. On the project page, next to the branch name, select the plus icon (**{plus}**).
+1. From the project dashboard or repository, next to the branch name, select the plus icon (**{plus}**).
 1. From the dropdown list, select **New directory**.
 1. Complete the fields. To create a merge request with the new directory, ensure the **Start a new merge request with these changes** toggle is turned on.
 1. Select **Create directory**.
 
-## Create a new branch
-
-There are multiple ways to create a branch from the GitLab web interface.
-
-NOTE:
-Use [branch naming patterns](branches/index.md#naming) to streamline merge request creation.
-
-### Create a new branch from an issue
-
-> The **Create merge request** button [changed](https://gitlab.com/gitlab-org/gitlab/-/issues/349566) to open the merge request creation form in GitLab 14.8.
-
-If your development workflow requires an issue for every merge
-request, you can create a branch directly from the issue to speed the process up.
-The new branch, and later its merge request, are marked as related to this issue.
-After merging the merge request, the issue is closed automatically, unless [automatic issue closing is disabled](../issues/managing_issues.md#disable-automatic-issue-closing).
-You can see a **Create merge request** dropdown below the issue description.
-
-NOTE:
-In GitLab 14.8 and later, selecting **Create merge request**
-[redirects to the merge request creation form](https://gitlab.com/gitlab-org/gitlab/-/issues/349566)
-instead of immediately creating the merge request.
-
-The **Create merge request** button doesn't display if:
-
-- A branch with the same name already exists.
-- A merge request already exists for this branch.
-- Your project has an active fork relationship.
-- Your project is private and the issue is confidential.
-
-To make this button appear, one possible workaround is to
-[remove your project's fork relationship](../settings/index.md#remove-a-fork-relationship).
-After removal, the fork relationship cannot be restored. This project can no longer
-be able to receive or send merge requests to the source project, or other forks.
-
-![Create Button](img/web_editor_new_branch_from_issue_create_button_v14_1.png)
-
-This dropdown contains the options **Create merge request and branch** and **Create branch**.
-
-![New Branch Button](img/web_editor_new_branch_from_issue_v14_1.png)
-
-After selecting one of these options, a new branch or branch and merge request
-is created based on your project's [default branch](branches/default.md).
-The branch name is based on an internal ID, and the issue title. The example
-screenshot above creates a branch named
-`2-make-static-site-auto-deploy-and-serve`.
-
-When you select the **Create branch** button in an empty
-repository project, GitLab performs these actions:
-
-- Creates a default branch.
-- Commits a blank `README.md` file to it.
-- Creates and redirects you to a new branch based on the issue title.
-- _If your project is [configured with a deployment service](../integrations/index.md) like Kubernetes,_
-  GitLab prompts you to set up [auto deploy](../../../topics/autodevops/stages.md#auto-deploy)
-  by helping you create a `.gitlab-ci.yml` file.
+## Create a branch
 
-After the branch is created, you can edit files in the repository to fix
-the issue. When a merge request is created based on the newly-created branch,
-the description field displays the [issue closing pattern](../issues/managing_issues.md#closing-issues-automatically)
-`Closes #ID`, where `ID` is the ID of the issue. This closes the issue when the
-merge request is merged.
+To create a [branch](branches/index.md) in the Web Editor:
 
-### Create a new branch from a project's dashboard
-
-If you want to make changes to several files before creating a new merge
-request, you can create a new branch upfront.
-
-1. From a project's files page, choose **New branch** from the dropdown list.
-
-   ![New branch dropdown list](img/web_editor_new_branch_dropdown_v14_1.png)
-
-1. Enter a new **Branch name**.
-1. Optional. Change the **Create from** field to choose which branch, tag, or
-   commit SHA this new branch originates from. This field autocompletes if you
-   start typing an existing branch or tag.
-1. To return to the file browser on this new branch, select **Create branch**.
-
-   ![New branch page](img/web_editor_new_branch_page_v14_1.png)
-
-You can now make changes to any files, as needed. When you're ready to merge
-the changes back to your [default branch](branches/default.md), you can use the widget at the top of the screen.
-This widget only appears for a period of time after you create the branch or
-modify files.
-
-![New push widget](img/web_editor_new_push_widget.png)
+1. On the top bar, select **Main menu > Projects** and find your project.
+1. From the project dashboard or repository, next to the branch name, select the plus icon (**{plus}**).
+1. From the dropdown list, select **New branch**.
+1. Complete the fields.
+1. Select **Create branch**.
 
 ## Create a tag
 
-You can create tags to mark milestones such as production releases and
-release candidates. To create a tag in the Web Editor:
+You can create [tags](../../../topics/git/tags.md) to mark milestones such as
+production releases and release candidates. To create a tag in the Web Editor:
 
 1. On the top bar, select **Main menu > Projects** and find your project.
-1. On the project page, next to the branch name, select the plus icon (**{plus}**).
+1. From the project dashboard or repository, next to the branch name, select the plus icon (**{plus}**).
 1. From the dropdown list, select **New tag**.
-1. Complete the fields. From the **Create from** dropdown list, select an existing branch, tag, or commit SHA.
+1. Complete the fields.
 1. Select **Create tag**.
-
-## Tips
-
-When creating or uploading a new file or creating a new directory, you can
-trigger a new merge request rather than committing directly to your default branch:
-
-1. Enter a new branch name in the **Target branch** field.
-1. GitLab displays the **Start a new merge request with these changes** checkbox.
-1. Commit your changes, and GitLab redirects you to a new merge request form.
-
-   ![Start a new merge request with these changes](img/web_editor_start_new_merge_request.png)
-
-If you'd prefer to not use your primary email address for commits created
-through the web editor, you can choose to use another of your linked email
-addresses from the **User Settings > Edit Profile** page.
-
-<!-- ## Troubleshooting
-
-Include any troubleshooting steps that you can foresee. If you know beforehand what issues
-one might have when setting this up, or when something is changed, or on upgrading, it's
-important to describe those, too. Think of things that may go wrong and include them here.
-This is important to minimize requests for support, and to avoid doc comments with
-questions that you know someone might ask.
-
-Each scenario can be a third-level heading, for example `### Getting error message X`.
-If you have none to add when creating a doc, leave this section in place
-but commented out to help encourage others to add to it in the future. -->
diff --git a/doc/user/project/web_ide/index.md b/doc/user/project/web_ide/index.md
index 7b3bcff4c7e143150f9fce01b209c7eef0962883..4648df7dbd7a7aa2b2a0e9e0c500aca3feb601b8 100644
--- a/doc/user/project/web_ide/index.md
+++ b/doc/user/project/web_ide/index.md
@@ -91,11 +91,11 @@ You can pick a theme from your [profile preferences](../../profile/preferences.m
 |-------------------------------------------------------------|-----------------------------------------|
 | ![Solarized Dark Theme](img/solarized_dark_theme_v13_1.png) | ![Dark Theme](img/dark_theme_v13_0.png) |
 
-## Highlight lines
+## Link to specific lines
 
-The Web IDE is built with the [Web Editor](../repository/web_editor.md). This enables the Web IDE to share the
-same core features for highlighting and linking to particular lines in the edited files
-[described for the Web Editor](../repository/web_editor.md#highlight-lines).
+The Web IDE and the [Web Editor](../repository/web_editor.md) share the
+same core features. To link to specific lines in the Web IDE, see
+[Web Editor](../repository/web_editor.md#link-to-specific-lines).
 
 ## Schema based validation