info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference
description:"SetandconfigureGitprotocolv2"
description:"SetandconfigureGitprotocolv2"
---
---
# Configuring Git Protocol v2 **(FREE)**
# Configuring Git Protocol v2 **(FREE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/46555) in GitLab 11.4.
> [Re-enabled](https://gitlab.com/gitlab-org/gitlab/-/issues/27828) in GitLab 12.8.
> - [Temporarily disabled](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/55769) in GitLab 11.5.8, 11.6.6, 11.7.1, and 11.8+.
> - [Re-enabled](https://gitlab.com/gitlab-org/gitlab/-/issues/27828) in GitLab 12.8.
Git protocol v2 improves the v1 wire protocol in several ways and is
Git protocol v2 improves the v1 wire protocol in several ways and is
enabled by default in GitLab for HTTP requests. In order to enable SSH,
enabled by default in GitLab for HTTP requests. In order to enable SSH,
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, api
---
---
# Markdown API **(FREE)**
# Markdown API **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18926) in GitLab 11.0.
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, api
---
---
# Project badges API **(FREE)**
# Project badges API **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17082) in GitLab 10.6.
## Placeholder tokens
## Placeholder tokens
Badges support placeholders that are replaced in real-time in both the link and image URL. The allowed placeholders are:
Badges support placeholders that are replaced in real-time in both the link and image URL. The allowed placeholders are:
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, api
---
---
# Project import/export API **(FREE)**
# Project import/export API **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41899) in GitLab 10.6.
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, api
---
---
# Project templates API **(FREE)**
# Project templates API **(FREE)**
...
@@ -21,9 +20,7 @@ It deprecates these endpoints, which are scheduled for removal in API version 5.
...
@@ -21,9 +20,7 @@ It deprecates these endpoints, which are scheduled for removal in API version 5.
In addition to templates common to the entire instance, project-specific
In addition to templates common to the entire instance, project-specific
templates are also available from this API endpoint.
templates are also available from this API endpoint.
Support for [Group-level file templates](../user/group/index.md#group-file-templates)**(PREMIUM)**
Support is also available for [group-level file templates](../user/group/index.md#group-file-templates). **(PREMIUM)**
was [added](https://gitlab.com/gitlab-org/gitlab/-/issues/5987)
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, api
---
---
# Protected branches API **(FREE)**
# Protected branches API **(FREE)**
> Introduced in GitLab 9.5.
**Valid access levels**
**Valid access levels**
The access levels are defined in the `ProtectedRefAccess.allowed_access_levels` method. Currently, these levels are recognized:
The access levels are defined in the `ProtectedRefAccess.allowed_access_levels` method. Currently, these levels are recognized:
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, api
---
---
# Repository submodules API **(FREE)**
# Repository submodules API **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41213) in GitLab 11.5
## Update existing submodule reference in repository
## Update existing submodule reference in repository
In some workflows, especially automated ones, it can be useful to update a
In some workflows, especially automated ones, it can be useful to update a
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, api
---
---
# Search API **(FREE)**
# Search API **(FREE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41763) in GitLab 10.5.
> [Feature flag `search_filter_by_confidential` removed](https://gitlab.com/gitlab-org/gitlab/-/issues/244923) in GitLab 13.6.
> - [Feature flag `search_filter_by_confidential` removed](https://gitlab.com/gitlab-org/gitlab/-/issues/244923) in GitLab 13.6.
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, api
---
---
# Tags API **(FREE)**
# Tags API **(FREE)**
...
@@ -26,8 +25,6 @@ Parameters:
...
@@ -26,8 +25,6 @@ Parameters:
| `sort` | string | no | Return tags sorted in `asc` or `desc` order. Default is `desc` |
| `sort` | string | no | Return tags sorted in `asc` or `desc` order. Default is `desc` |
| `search` | string | no | Return list of tags matching the search criteria. You can use `^term` and `term$` to find tags that begin and end with `term` respectively. |
| `search` | string | no | Return list of tags matching the search criteria. You can use `^term` and `term$` to find tags that begin and end with `term` respectively. |
> Support for `search` was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/54401) in GitLab 11.8.
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, howto
---
---
# GitLab Flavored Markdown **(FREE)**
# GitLab Flavored Markdown **(FREE)**
...
@@ -1507,56 +1506,3 @@ entry and paste the spreadsheet:
...
@@ -1507,56 +1506,3 @@ entry and paste the spreadsheet:
at Daring Fireball is an excellent resource for a detailed explanation of standard Markdown.
at Daring Fireball is an excellent resource for a detailed explanation of standard Markdown.
- You can find the detailed specification for CommonMark in the [CommonMark Spec](https://spec.commonmark.org/current/).
- You can find the detailed specification for CommonMark in the [CommonMark Spec](https://spec.commonmark.org/current/).
- The [CommonMark Dingus](https://spec.commonmark.org/dingus/) helps you test CommonMark syntax.
- The [CommonMark Dingus](https://spec.commonmark.org/dingus/) helps you test CommonMark syntax.
## Transition from Redcarpet to CommonMark
- In GitLab 11.8, the [Redcarpet Ruby library](https://github.com/vmg/redcarpet)
was removed. All issues and comments, including those in 11.1 and earlier, are now processed
by using the [CommonMark Ruby Library](https://github.com/gjtorikian/commonmarker).
- In GitLab 11.3 and later, CommonMark processes wiki pages and Markdown
files (`*.md`) in repositories.
- In GitLab 11.1 and later, the [CommonMark Ruby Library](https://github.com/gjtorikian/commonmarker)
for Markdown processes all new issues, merge requests, comments, and other Markdown
content.
The documentation website migrated its Markdown engine
[from Redcarpet to Kramdown](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/108)
in October 2018.
You may have older issues, merge requests, or Markdown documents in your
repository that relied upon nuances of the GitLab RedCarpet version
of Markdown. Because CommonMark uses slightly stricter syntax, these documents
may now appear differently after the transition to CommonMark.
For example, numbered lists with nested lists may
render incorrectly:
```markdown
1. Chocolate
- dark
- milk
```
To fix this issue, add a space to each nested item. The `-` must be aligned with the first
character of the top list item (`C` in this case):
```markdown
1. Chocolate
- dark
- milk
```
1. Chocolate
- dark
- milk
We flag any significant differences between Redcarpet and CommonMark Markdown in this document.
If you have many Markdown files, it can be tedious to determine
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, howto
---
---
# Badges **(FREE)**
# Badges **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41174) in GitLab 10.7.
Badges are a unified way to present condensed pieces of information about your
Badges are a unified way to present condensed pieces of information about your
projects. They consist of a small image and a URL that the image
projects. They consist of a small image and a URL that the image
points to. Examples for badges can be the [pipeline status](../../ci/pipelines/settings.md#pipeline-status-badge),
points to. Examples for badges can be the [pipeline status](../../ci/pipelines/settings.md#pipeline-status-badge),
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference
---
---
# Code Owners **(PREMIUM)**
# Code Owners **(PREMIUM)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6916) in GitLab 11.3.
> Moved to GitLab Premium in 13.9.
> - Code Owners for merge request approvals was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/4418) in GitLab Premium 11.9.
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, howto
---
---
# File Locking **(FREE)**
# File Locking **(FREE)**
...
@@ -43,8 +42,6 @@ locked by Administrator`.
...
@@ -43,8 +42,6 @@ locked by Administrator`.
## Exclusive file locks **(FREE)**
## Exclusive file locks **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/35856) in GitLab 10.5.
This process allows you to lock single files or file extensions and it is
This process allows you to lock single files or file extensions and it is
done through the command line. It doesn't require GitLab paid subscriptions.
done through the command line. It doesn't require GitLab paid subscriptions.
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, concepts
---
---
# Merge request approval rules **(PREMIUM)**
# Merge request approval rules **(PREMIUM)**
...
@@ -146,8 +145,7 @@ approve in these ways:
...
@@ -146,8 +145,7 @@ approve in these ways:
### Code owners as eligible approvers **(PREMIUM)**
### Code owners as eligible approvers **(PREMIUM)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7933) in GitLab 11.5.
> Moved to GitLab Premium in 13.9.
> - Moved to GitLab Premium in 13.9.
If you add [code owners](../../code_owners.md) to your repository, the owners of files
If you add [code owners](../../code_owners.md) to your repository, the owners of files
become eligible approvers in the project. To enable this merge request approval rule:
become eligible approvers in the project. To enable this merge request approval rule:
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, concepts
---
---
# Merge request approval settings **(PREMIUM)**
# Merge request approval settings **(PREMIUM)**
...
@@ -32,8 +31,7 @@ In this section of general settings, you can configure the following settings:
...
@@ -32,8 +31,7 @@ In this section of general settings, you can configure the following settings:
## Prevent approval by author
## Prevent approval by author
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3349) in GitLab 11.3.
> Moved to GitLab Premium in 13.9.
> - Moved to GitLab Premium in 13.9.
By default, the author of a merge request cannot approve it. To change this setting:
By default, the author of a merge request cannot approve it. To change this setting:
...
@@ -54,8 +52,7 @@ this setting, unless you configure one of these options:
...
@@ -54,8 +52,7 @@ this setting, unless you configure one of these options:
## Prevent approvals by users who add commits
## Prevent approvals by users who add commits
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10441) in GitLab 11.10.
> Moved to GitLab Premium in 13.9.
> - Moved to GitLab Premium in 13.9.
By default, users who commit to a merge request can still approve it. At both
By default, users who commit to a merge request can still approve it. At both
the project level or [instance level](../../../admin_area/merge_requests_approvals.md)
the project level or [instance level](../../../admin_area/merge_requests_approvals.md)
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, howto
---
---
# Protected branches **(FREE)**
# Protected branches **(FREE)**
...
@@ -76,8 +75,6 @@ The protected branch displays in the list of protected branches.
...
@@ -76,8 +75,6 @@ The protected branch displays in the list of protected branches.
## Create a protected branch
## Create a protected branch
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53361) in GitLab 11.9.
Users with the Developer or higher [role](../permissions.md) can create a protected branch.
Users with the Developer or higher [role](../permissions.md) can create a protected branch.
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, howto
---
---
# Protected tags **(FREE)**
# Protected tags **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10356) in GitLab 9.1.
Protected tags:
Protected tags:
- Allow control over who has permission to create tags.
- Allow control over who has permission to create tags.
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:reference, howto
---
---
# Push Options **(FREE)**
# Push Options **(FREE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15643) in GitLab 11.7.
GitLab supports using client-side [Git push options](https://git-scm.com/docs/git-push#Documentation/git-push.txt--oltoptiongt)
GitLab supports using client-side [Git push options](https://git-scm.com/docs/git-push#Documentation/git-push.txt--oltoptiongt)
to perform various actions at the same time as pushing changes. Additionally, [Push Rules](../../push_rules/push_rules.md) offer server-side control and enforcement options.
to perform various actions at the same time as pushing changes. Additionally, [Push Rules](../../push_rules/push_rules.md) offer server-side control and enforcement options.
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:concepts, howto
---
---
# Signing commits with GPG **(FREE)**
# Signing commits with GPG **(FREE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9546) in GitLab 9.5.
> - Subkeys support was added in GitLab 10.1.
You can use a GPG key to sign Git commits made in a GitLab repository. Signed
You can use a GPG key to sign Git commits made in a GitLab repository. Signed
commits are labeled **Verified** if the identity of the committer can be
commits are labeled **Verified** if the identity of the committer can be
verified. To verify the identity of a committer, GitLab requires their public
verified. To verify the identity of a committer, GitLab requires their public
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type:concepts, howto
---
---
# Repository **(FREE)**
# Repository **(FREE)**
...
@@ -66,8 +65,6 @@ Alternatively, you can clone directly into a code editor.
...
@@ -66,8 +65,6 @@ Alternatively, you can clone directly into a code editor.
### Clone and open in Apple Xcode
### Clone and open in Apple Xcode
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/45820) in GitLab 11.0.
Projects that contain a `.xcodeproj` or `.xcworkspace` directory can be cloned
Projects that contain a `.xcodeproj` or `.xcworkspace` directory can be cloned
into Xcode on macOS.
into Xcode on macOS.
...
@@ -98,8 +95,7 @@ Visual Studio Code:
...
@@ -98,8 +95,7 @@ Visual Studio Code:
## Download the code in a repository
## Download the code in a repository
> - Support for directory download was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/24704) in GitLab 11.11.
> Support for [including Git LFS blobs](../../../topics/git/lfs#lfs-objects-in-project-archives) was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/15079) in GitLab 13.5.
> - Support for [including Git LFS blobs](../../../topics/git/lfs#lfs-objects-in-project-archives) was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/15079) in GitLab 13.5.
You can download the source code that's stored in a repository.
You can download the source code that's stored in a repository.