Commit cb5f37f0 authored by Suzanne Selhorn's avatar Suzanne Selhorn Committed by Natalia Tepluhina

Moved several topics into new topic

Related to: https://gitlab.com/gitlab-org/gitlab/-/issues/300312
parent c997203d
...@@ -8,4 +8,4 @@ ...@@ -8,4 +8,4 @@
%span.input-group-append %span.input-group-append
= clipboard_button(text: push_to_create_project_command, title: _("Copy command"), class: 'input-group-text', placement: "right") = clipboard_button(text: push_to_create_project_command, title: _("Copy command"), class: 'input-group-text', placement: "right")
%p %p
= link_to("What does this command do?", help_page_path("gitlab-basics/create-project", anchor: "push-to-create-a-new-project"), target: "_blank") = link_to("What does this command do?", help_page_path("user/project/working_with_projects", anchor: "push-to-create-a-new-project"), target: "_blank")
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
%p %p
%strong= _("Tip:") %strong= _("Tip:")
= _("You can also create a project from the command line.") = _("You can also create a project from the command line.")
%a.push-new-project-tip{ data: { title: _("Push to create a project") }, href: help_page_path('gitlab-basics/create-project', anchor: 'push-to-create-a-new-project'), target: "_blank", rel: "noopener noreferrer" } %a.push-new-project-tip{ data: { title: _("Push to create a project") }, href: help_page_path('user/project/working_with_projects', anchor: 'push-to-create-a-new-project'), target: "_blank", rel: "noopener noreferrer" }
= _("Show command") = _("Show command")
%template.push-new-project-tip-template= render partial: "new_project_push_tip" %template.push-new-project-tip-template= render partial: "new_project_push_tip"
......
...@@ -1161,7 +1161,7 @@ Confirm the following are all true: ...@@ -1161,7 +1161,7 @@ Confirm the following are all true:
- When any user adds or modifies a file from the repository using the GitLab - When any user adds or modifies a file from the repository using the GitLab
UI, it immediately fails with a red `401 Unauthorized` banner. UI, it immediately fails with a red `401 Unauthorized` banner.
- Creating a new project and [initializing it with a README](../../gitlab-basics/create-project.md#blank-projects) - Creating a new project and [initializing it with a README](../../user/project/working_with_projects.md#blank-projects)
successfully creates the project, but doesn't create the README. successfully creates the project, but doesn't create the README.
- When [tailing the logs](https://docs.gitlab.com/omnibus/settings/logs.html#tail-logs-in-a-console-on-the-server) - When [tailing the logs](https://docs.gitlab.com/omnibus/settings/logs.html#tail-logs-in-a-console-on-the-server)
on a Gitaly client and reproducing the error, you get `401` errors on a Gitaly client and reproducing the error, you get `401` errors
......
...@@ -298,7 +298,7 @@ Confirm the following are all true: ...@@ -298,7 +298,7 @@ Confirm the following are all true:
- When any user adds or modifies a file from the repository using the GitLab - When any user adds or modifies a file from the repository using the GitLab
UI, it immediately fails with a red `401 Unauthorized` banner. UI, it immediately fails with a red `401 Unauthorized` banner.
- Creating a new project and [initializing it with a README](../../gitlab-basics/create-project.md#blank-projects) - Creating a new project and [initializing it with a README](../../user/project/working_with_projects.md#blank-projects)
successfully creates the project but doesn't create the README. successfully creates the project but doesn't create the README.
- When [tailing the logs](https://docs.gitlab.com/omnibus/settings/logs.html#tail-logs-in-a-console-on-the-server) on an app node and reproducing the error, you get `401` errors - When [tailing the logs](https://docs.gitlab.com/omnibus/settings/logs.html#tail-logs-in-a-console-on-the-server) on an app node and reproducing the error, you get `401` errors
when reaching the `/api/v4/internal/allowed` endpoint: when reaching the `/api/v4/internal/allowed` endpoint:
......
...@@ -1104,7 +1104,7 @@ POST /projects ...@@ -1104,7 +1104,7 @@ POST /projects
| `snippets_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. | | `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. | | `snippets_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. |
| `tag_list` | array | **{dotted-circle}** No | The list of tags for a project; put array of tags, that should be finally assigned to a project. | | `tag_list` | array | **{dotted-circle}** No | The list of tags for a project; put array of tags, that should be finally assigned to a project. |
| `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../gitlab-basics/create-project.md#built-in-templates). When used with `use_custom_template`, name of a custom project template. | | `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../user/project/working_with_projects.md#built-in-templates). When used with `use_custom_template`, name of a custom project template. |
| `template_project_id` **(PREMIUM)** | integer | **{dotted-circle}** No | When used with `use_custom_template`, project ID of a custom project template. This is preferable to using `template_name` since `template_name` may be ambiguous. | | `template_project_id` **(PREMIUM)** | integer | **{dotted-circle}** No | When used with `use_custom_template`, project ID of a custom project template. This is preferable to using `template_name` since `template_name` may be ambiguous. |
| `use_custom_template` **(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md) (with `group_with_project_templates_id`) project template. | | `use_custom_template` **(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md) (with `group_with_project_templates_id`) project template. |
| `visibility` | string | **{dotted-circle}** No | See [project visibility level](#project-visibility-level). | | `visibility` | string | **{dotted-circle}** No | See [project visibility level](#project-visibility-level). |
...@@ -1177,7 +1177,7 @@ POST /projects/user/:user_id ...@@ -1177,7 +1177,7 @@ POST /projects/user/:user_id
| `snippets_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. | | `snippets_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. |
| `suggestion_commit_message` | string | **{dotted-circle}** No | The commit message used to apply merge request suggestions. | | `suggestion_commit_message` | string | **{dotted-circle}** No | The commit message used to apply merge request suggestions. |
| `tag_list` | array | **{dotted-circle}** No | The list of tags for a project; put array of tags, that should be finally assigned to a project. | | `tag_list` | array | **{dotted-circle}** No | The list of tags for a project; put array of tags, that should be finally assigned to a project. |
| `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../gitlab-basics/create-project.md#built-in-templates). When used with `use_custom_template`, name of a custom project template. | | `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../user/project/working_with_projects.md#built-in-templates). When used with `use_custom_template`, name of a custom project template. |
| `use_custom_template` **(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md) (with `group_with_project_templates_id`) project template. | | `use_custom_template` **(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md) (with `group_with_project_templates_id`) project template. |
| `user_id` | integer | **{check-circle}** Yes | The user ID of the project owner. | | `user_id` | integer | **{check-circle}** Yes | The user ID of the project owner. |
| `visibility` | string | **{dotted-circle}** No | See [project visibility level](#project-visibility-level). | | `visibility` | string | **{dotted-circle}** No | See [project visibility level](#project-visibility-level). |
......
...@@ -35,7 +35,7 @@ repositories: ...@@ -35,7 +35,7 @@ repositories:
your project, update commit statuses, and create a web hook to notify your project, update commit statuses, and create a web hook to notify
GitLab of new commits. GitLab of new commits.
1. In GitLab, go to the [new project page](../../gitlab-basics/create-project.md#create-a-project-in-gitlab), select the **CI/CD for external repository** tab, and then click 1. In GitLab, go to the [new project page](../../user/project/working_with_projects.md#create-a-project), select the **CI/CD for external repository** tab, and then click
**GitHub**. **GitHub**.
1. Paste the token into the **Personal access token** field and click **List 1. Paste the token into the **Personal access token** field and click **List
......
...@@ -57,7 +57,7 @@ Configuring environments involves: ...@@ -57,7 +57,7 @@ Configuring environments involves:
The rest of this section illustrates how to configure environments and deployments using The rest of this section illustrates how to configure environments and deployments using
an example scenario. It assumes you have already: an example scenario. It assumes you have already:
- Created a [project](../../gitlab-basics/create-project.md) in GitLab. - Created a [project](../../user/project/working_with_projects.md#create-a-project) in GitLab.
- Set up [a runner](../runners/README.md). - Set up [a runner](../runners/README.md).
In the scenario: In the scenario:
......
...@@ -69,7 +69,7 @@ This test will be used later for continuously testing our app with GitLab CI/CD. ...@@ -69,7 +69,7 @@ This test will be used later for continuously testing our app with GitLab CI/CD.
### Push to GitLab ### Push to GitLab
Since we have our app up and running locally, it's time to push the codebase to our remote repository. Since we have our app up and running locally, it's time to push the codebase to our remote repository.
Let's create [a new project](../../../gitlab-basics/create-project.md) in GitLab named `laravel-sample`. Let's create [a new project](../../../user/project/working_with_projects.md#create-a-project) in GitLab named `laravel-sample`.
After that, follow the command line instructions displayed on the project's homepage to initiate the repository on our machine and push the first commit. After that, follow the command line instructions displayed on the project's homepage to initiate the repository on our machine and push the first commit.
```shell ```shell
......
...@@ -29,5 +29,5 @@ See also [File Storage in GitLab](file_storage.md). ...@@ -29,5 +29,5 @@ See also [File Storage in GitLab](file_storage.md).
### Forks ### Forks
GitLab supports a great amount of features for [merge requests](../user/project/merge_requests/index.md). One GitLab supports a great amount of features for [merge requests](../user/project/merge_requests/index.md). One
of them is the ability to create merge requests from and to [forks](../gitlab-basics/fork-project.md), of them is the ability to create merge requests from and to [forks](../user/project/working_with_projects.md#fork-a-project),
which should also be highly considered and tested upon development phase. which should also be highly considered and tested upon development phase.
...@@ -22,12 +22,12 @@ This documentation is split into the following groups: ...@@ -22,12 +22,12 @@ This documentation is split into the following groups:
The following are guides to basic GitLab functionality: The following are guides to basic GitLab functionality:
- [Create and add your SSH public key](../ssh/README.md), for enabling Git over SSH. - [Create and add your SSH public key](../ssh/README.md), for enabling Git over SSH.
- [Create a project](create-project.md), to start using GitLab. - [Create a project](../user/project/working_with_projects.md#create-a-project), to start using GitLab.
- [Create a group](../user/group/index.md#create-a-new-group), to combine and administer - [Create a group](../user/group/index.md#create-a-new-group), to combine and administer
projects together. projects together.
- [Create a branch](create-branch.md), to make changes to files stored in a project's repository. - [Create a branch](create-branch.md), to make changes to files stored in a project's repository.
- [Feature branch workflow](feature_branch_workflow.md). - [Feature branch workflow](feature_branch_workflow.md).
- [Fork a project](fork-project.md), to duplicate projects so they can be worked on in parallel. - [Fork a project](../user/project/working_with_projects.md#fork-a-project), to duplicate projects so they can be worked on in parallel.
- [Add a file](add-file.md), to add new files to a project's repository. - [Add a file](add-file.md), to add new files to a project's repository.
- [Create an issue](../user/project/issues/managing_issues.md#create-a-new-issue), - [Create an issue](../user/project/issues/managing_issues.md#create-a-new-issue),
to start collaborating within a project. to start collaborating within a project.
......
--- ---
stage: Create redirect_to: '../user/project/working_with_projects.md'
group: Source Code
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: howto
--- ---
# Create a project This document was moved to [another location](../user/project/working_with_projects.md).
Most work in GitLab is done within a [Project](../user/project/index.md). Files and <!-- This redirect file can be deleted after <2021-05-05>. -->
code are saved in projects, and most features are used within the scope of projects. <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
\ No newline at end of file
## Create a project in GitLab
To create a project in GitLab:
1. In your dashboard, click the green **New project** button or use the plus
icon in the navigation bar. This opens the **New project** page.
1. On the **New project** page, choose if you want to:
- Create a [blank project](#blank-projects).
- Create a project using one of the available [project templates](#project-templates).
- [Import a project](../user/project/import/index.md) from a different repository,
if enabled on your GitLab instance. Contact your GitLab administrator if this is unavailable.
- Run [CI/CD pipelines for external repositories](../ci/ci_cd_for_external_repos/index.md). **(PREMIUM)**
NOTE:
For a list of words that can't be used as project names see
[Reserved project and group names](../user/reserved_names.md).
### Blank projects
To create a new blank project on the **New project** page:
1. On the **Blank project** tab, provide the following information:
- The name of your project in the **Project name** field. You can't use
special characters, but you can use spaces, hyphens, underscores, or even
emoji. When adding the name, the **Project slug** auto populates.
The slug is what the GitLab instance uses as the URL path to the project.
If you want a different slug, input the project name first,
then change the slug after.
- The path to your project in the **Project slug** field. This is the URL
path for your project that the GitLab instance uses. If the
**Project name** is blank, it auto populates when you fill in
the **Project slug**.
- The **Project description (optional)** field enables you to enter a
description for your project's dashboard, which helps others
understand what your project is about. Though it's not required, it's a good
idea to fill this in.
- Changing the **Visibility Level** modifies the project's
[viewing and access rights](../public_access/public_access.md) for users.
- Selecting the **Initialize repository with a README** option creates a
README file so that the Git repository is initialized, has a default branch, and
can be cloned.
1. Click **Create project**.
### Project templates
Project templates can pre-populate a new project with the necessary files to get you
started quickly.
There are two main types of project templates:
- [Built-in templates](#built-in-templates), sourced from the following groups:
- [`project-templates`](https://gitlab.com/gitlab-org/project-templates)
- [`pages`](https://gitlab.com/pages)
- [Custom project templates](#custom-project-templates), for custom templates
configured by GitLab administrators and users.
#### Built-in templates
Built-in templates are project templates that are:
- Developed and maintained in the [`project-templates`](https://gitlab.com/gitlab-org/project-templates)
and [`pages`](https://gitlab.com/pages) groups.
- Released with GitLab.
To use a built-in template on the **New project** page:
1. On the **Create from template** tab, select the **Built-in** tab.
1. From the list of available built-in templates, click the:
- **Preview** button to look at the template source itself.
- **Use template** button to start creating the project.
1. Finish creating the project by filling out the project's details. The process is
the same as creating a [blank project](#blank-projects).
##### Enterprise templates **(ULTIMATE)**
GitLab is developing Enterprise templates to help you streamline audit management with selected regulatory standards. These templates automatically import issues that correspond to each regulatory requirement.
To create a new project with an Enterprise template, on the **New project** page:
1. On the **Create from template** tab, select the **Built-in** tab.
1. From the list of available built-in Enterprise templates, click the:
- **Preview** button to look at the template source itself.
- **Use template** button to start creating the project.
1. Finish creating the project by filling out the project's details. The process is the same as creating a [blank project](#blank-projects).
Available Enterprise templates include:
- HIPAA Audit Protocol template ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13756) in GitLab 12.10)
NOTE:
You can improve the existing built-in templates or contribute new ones in the
[`project-templates`](https://gitlab.com/gitlab-org/project-templates) and
[`pages`](https://gitlab.com/pages) groups by following [these steps](https://gitlab.com/gitlab-org/project-templates/contributing).
#### Custom project templates **(PREMIUM)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2.
Creating new projects based on custom project templates is a convenient option for
quickly starting projects.
Custom projects are available at the [instance-level](../user/admin_area/custom_project_templates.md)
from the **Instance** tab, or at the [group-level](../user/group/custom_project_templates.md)
from the **Group** tab, under the **Create from template** tab.
To use a custom project template on the **New project** page:
1. On the **Create from template** tab, select the **Instance** tab or the **Group** tab.
1. From the list of available custom templates, click the:
- **Preview** button to look at the template source itself.
- **Use template** button to start creating the project.
1. Finish creating the project by filling out the project's details. The process is
the same as creating a [blank project](#blank-projects).
## Push to create a new project
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/26388) in GitLab 10.5.
When you create a new repository locally, instead of manually creating a new project in GitLab
and then [cloning the repository](start-using-git.md#clone-a-repository)
locally, you can directly push it to GitLab to create the new project, all without leaving
your terminal. If you have access rights to the associated namespace, GitLab
automatically creates a new project under that GitLab namespace with its visibility
set to Private by default (you can later change it in the [project's settings](../public_access/public_access.md#how-to-change-project-visibility)).
This can be done by using either SSH or HTTPS:
```shell
## Git push using SSH
git push --set-upstream git@gitlab.example.com:namespace/nonexistent-project.git master
## Git push using HTTPS
git push --set-upstream https://gitlab.example.com/namespace/nonexistent-project.git master
```
You can pass the flag `--tags` to the `git push` command to export existing repository tags.
Once the push finishes successfully, a remote message indicates
the command to set the remote and the URL to the new project:
```plaintext
remote:
remote: The private project namespace/nonexistent-project was created.
remote:
remote: To configure the remote, run:
remote: git remote add origin https://gitlab.example.com/namespace/nonexistent-project.git
remote:
remote: To view the project, visit:
remote: https://gitlab.example.com/namespace/nonexistent-project
remote:
```
<!-- ## 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, e.g. `### 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. -->
--- ---
stage: Create redirect_to: '../user/project/working_with_projects.md'
group: Source Code
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: howto
--- ---
# How to fork a project This document was moved to [another location](../user/project/working_with_projects.md).
A fork is a copy of an original repository that you put in another namespace <!-- This redirect file can be deleted after <2021-05-04>. -->
where you can experiment and apply changes that you can later decide whether or <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
not to share, without affecting the original project. \ No newline at end of file
It takes just a few steps to [fork a project in GitLab](../user/project/repository/forking_workflow.md#creating-a-fork).
...@@ -278,7 +278,7 @@ identified by Git as the local content for that specific remote project. ...@@ -278,7 +278,7 @@ identified by Git as the local content for that specific remote project.
To add a remote repository to your local copy: To add a remote repository to your local copy:
1. In GitLab, [create a new project](../gitlab-basics/create-project.md#push-to-create-a-new-project) to hold your files. 1. In GitLab, [create a new project](../user/project/working_with_projects.md#create-a-project) to hold your files.
1. Visit this project's homepage, scroll down to **Push an existing folder**, and copy the command that starts with `git remote add`. 1. Visit this project's homepage, scroll down to **Push an existing folder**, and copy the command that starts with `git remote add`.
1. On your computer, open the terminal in the directory you've initialized, paste the command you copied, and press <kbd>enter</kbd>: 1. On your computer, open the terminal in the directory you've initialized, paste the command you copied, and press <kbd>enter</kbd>:
......
...@@ -11,7 +11,7 @@ comments: false ...@@ -11,7 +11,7 @@ comments: false
Create projects and groups. Create projects and groups.
- [Create a new project](../gitlab-basics/create-project.md) - [Create a new project](../user/project/working_with_projects.md#create-a-project)
- [Create a new group](../user/group/index.md#create-a-new-group) - [Create a new group](../user/group/index.md#create-a-new-group)
## Prioritize ## Prioritize
......
...@@ -288,7 +288,7 @@ In [GitLab Premium or higher](https://about.gitlab.com/pricing/), GitLab adminis ...@@ -288,7 +288,7 @@ In [GitLab Premium or higher](https://about.gitlab.com/pricing/), GitLab adminis
There are two different ways to add a new project to a group: There are two different ways to add a new project to a group:
- Select a group, and then click **New project**. You can then continue [creating your project](../../gitlab-basics/create-project.md). - Select a group, and then click **New project**. You can then continue [creating your project](../../user/project/working_with_projects.md#create-a-project).
![New project](img/create_new_project_from_group_v13_6.png) ![New project](img/create_new_project_from_group_v13_6.png)
...@@ -504,7 +504,7 @@ From GitLab 10.5, you can transfer groups in the following ways: ...@@ -504,7 +504,7 @@ From GitLab 10.5, you can transfer groups in the following ways:
When transferring groups, note: When transferring groups, note:
- Changing a group's parent can have unintended side effects. See [Redirects when changing repository paths](../project/index.md#redirects-when-changing-repository-paths). - Changing a group's parent can have unintended side effects. See [Redirects when changing repository paths](../project/repository/index.md#redirects-when-changing-repository-paths).
- You can only transfer groups to groups you manage. - You can only transfer groups to groups you manage.
- You must update your local repositories to point to the new location. - You must update your local repositories to point to the new location.
- If the immediate parent group's visibility is lower than the group's current visibility, visibility levels for subgroups and projects will change to match the new parent group's visibility. - If the immediate parent group's visibility is lower than the group's current visibility, visibility levels for subgroups and projects will change to match the new parent group's visibility.
...@@ -527,7 +527,7 @@ access further configurations for your group. ...@@ -527,7 +527,7 @@ access further configurations for your group.
#### Changing a group's path #### Changing a group's path
Changing a group's path (group URL) can have unintended side effects. Read Changing a group's path (group URL) can have unintended side effects. Read
[how redirects will behave](../project/index.md#redirects-when-changing-repository-paths) [how redirects will behave](../project/repository/index.md#redirects-when-changing-repository-paths)
before proceeding. before proceeding.
If you are vacating the path so it can be claimed by another group or user, If you are vacating the path so it can be claimed by another group or user,
......
...@@ -522,4 +522,4 @@ Read through the documentation on [LDAP users permissions](group/index.md#manage ...@@ -522,4 +522,4 @@ Read through the documentation on [LDAP users permissions](group/index.md#manage
## Project aliases ## Project aliases
Project aliases can only be read, created and deleted by a GitLab administrator. Project aliases can only be read, created and deleted by a GitLab administrator.
Read through the documentation on [Project aliases](../user/project/index.md#project-aliases) to learn more. Read through the documentation on [Project aliases](../user/project/import/index.md#project-aliases) to learn more.
...@@ -92,7 +92,7 @@ If you don't know your current password, select the 'I forgot my password' link. ...@@ -92,7 +92,7 @@ If you don't know your current password, select the 'I forgot my password' link.
Your `username` is a unique [`namespace`](../group/index.md#namespaces) Your `username` is a unique [`namespace`](../group/index.md#namespaces)
related to your user ID. Changing it can have unintended side effects, read related to your user ID. Changing it can have unintended side effects, read
[how redirects behave](../project/index.md#redirects-when-changing-repository-paths) [how redirects behave](../project/repository/index.md#redirects-when-changing-repository-paths)
before proceeding. before proceeding.
To change your `username`: To change your `username`:
......
...@@ -25,7 +25,7 @@ Additionally, in the [How To section](#how-to), you can read about different use ...@@ -25,7 +25,7 @@ Additionally, in the [How To section](#how-to), you can read about different use
- Working with secrets. - Working with secrets.
- Setting up CORS. - Setting up CORS.
Alternatively, you can quickly [create a new project with a template](../../../../gitlab-basics/create-project.md#project-templates). The [`Serverless Framework/JS` template](https://gitlab.com/gitlab-org/project-templates/serverless-framework/) already includes all parts described below. Alternatively, you can quickly [create a new project with a template](../../working_with_projects.md#create-a-project). The [`Serverless Framework/JS` template](https://gitlab.com/gitlab-org/project-templates/serverless-framework/) already includes all parts described below.
### Example ### Example
...@@ -290,7 +290,7 @@ The example code is available: ...@@ -290,7 +290,7 @@ The example code is available:
- As a [clonable repository](https://gitlab.com/gitlab-org/serverless/examples/serverless-framework-js). - As a [clonable repository](https://gitlab.com/gitlab-org/serverless/examples/serverless-framework-js).
- In a version with [tests and secret variables](https://gitlab.com/gitlab-org/project-templates/serverless-framework/). - In a version with [tests and secret variables](https://gitlab.com/gitlab-org/project-templates/serverless-framework/).
You can also use a [template](../../../../gitlab-basics/create-project.md#project-templates) You can also use a [template](../../working_with_projects.md#project-templates)
(based on the version with tests and secret variables) from within the GitLab UI (see (based on the version with tests and secret variables) from within the GitLab UI (see
the `Serverless Framework/JS` template). the `Serverless Framework/JS` template).
......
...@@ -74,3 +74,25 @@ In the event of merging two GitLab instances together (for example, both instanc ...@@ -74,3 +74,25 @@ In the event of merging two GitLab instances together (for example, both instanc
refer to the instructions in [Migrating from self-managed GitLab to GitLab.com](#migrating-from-self-managed-gitlab-to-gitlabcom). refer to the instructions in [Migrating from self-managed GitLab to GitLab.com](#migrating-from-self-managed-gitlab-to-gitlabcom).
Additionally, you can migrate users using the [Users API](../../../api/users.md) with an administrator user. Additionally, you can migrate users using the [Users API](../../../api/users.md) with an administrator user.
## Project aliases **(PREMIUM SELF)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3264) in GitLab Premium 12.1.
When migrating repositories to GitLab and they are being accessed by other systems,
it's very useful to be able to access them using the same name especially when
they are a lot. It reduces the risk of changing significant number of Git URLs in
a large number of systems.
GitLab provides a functionality to help with this. In GitLab, repositories are
usually accessed with a namespace and project name. It is also possible to access
them via a project alias. This feature is only available on Git over SSH.
A project alias can be only created via API and only by GitLab administrators.
Follow the [Project Aliases API documentation](../../../api/project_aliases.md) for
more details.
After an alias has been created for a project (such as an alias `gitlab` for the
project `https://gitlab.com/gitlab-org/gitlab`), you can clone the repository
with the alias (e.g `git clone git@gitlab.com:gitlab.git` instead of
`git clone git@gitlab.com:gitlab-org/gitlab.git`).
This diff is collapsed.
...@@ -259,4 +259,4 @@ This will be rendered as: ...@@ -259,4 +259,4 @@ This will be rendered as:
User activity events on designs (creation, deletion, and updates) are tracked by GitLab and User activity events on designs (creation, deletion, and updates) are tracked by GitLab and
displayed on the [user profile](../../profile/index.md#user-profile), displayed on the [user profile](../../profile/index.md#user-profile),
[group](../../group/index.md#view-group-activity), [group](../../group/index.md#view-group-activity),
and [project](../index.md#project-activity) activity pages. and [project](../working_with_projects.md#project-activity) activity pages.
...@@ -18,7 +18,7 @@ configured to generate a Pages site. ...@@ -18,7 +18,7 @@ configured to generate a Pages site.
To fork a sample project and create a Pages website: To fork a sample project and create a Pages website:
1. View the sample projects by navigating to the [GitLab Pages examples](https://gitlab.com/pages) group. 1. View the sample projects by navigating to the [GitLab Pages examples](https://gitlab.com/pages) group.
1. Click the name of the project you want to [fork](../../../../gitlab-basics/fork-project.md). 1. Click the name of the project you want to [fork](../../../../user/project/working_with_projects.md#fork-a-project).
1. In the top right, click the **Fork** button, and then choose a namespace to fork to. 1. In the top right, click the **Fork** button, and then choose a namespace to fork to.
1. Go to your project's **CI/CD > Pipelines** and click **Run pipeline**. 1. Go to your project's **CI/CD > Pipelines** and click **Run pipeline**.
GitLab CI/CD builds and deploys your site. GitLab CI/CD builds and deploys your site.
......
...@@ -14,7 +14,7 @@ A repository is part of a [project](../index.md), which has a lot of other featu ...@@ -14,7 +14,7 @@ A repository is part of a [project](../index.md), which has a lot of other featu
## Create a repository ## Create a repository
To create a new repository, all you need to do is To create a new repository, all you need to do is
[create a new project](../../../gitlab-basics/create-project.md) or [create a new project](../../../user/project/working_with_projects.md#create-a-project) or
[fork an existing project](forking_workflow.md). [fork an existing project](forking_workflow.md).
Once you create a new project, you can add new files via UI Once you create a new project, you can add new files via UI
...@@ -270,6 +270,28 @@ By clicking the download icon, a dropdown will open with links to download the f ...@@ -270,6 +270,28 @@ By clicking the download icon, a dropdown will open with links to download the f
- **Artifacts:** - **Artifacts:**
allows users to download the artifacts of the latest CI build. allows users to download the artifacts of the latest CI build.
## Redirects when changing repository paths
When a repository path changes, it is essential to smoothly transition from the
old location to the new one. GitLab provides two kinds of redirects: the web UI
and Git push/pull redirects.
Depending on the situation, different things apply.
When [renaming a user](../../profile/index.md#changing-your-username),
[changing a group path](../../group/index.md#changing-a-groups-path) or [renaming a repository](../settings/index.md#renaming-a-repository):
- Existing web URLs for the namespace and anything under it (such as projects) will
redirect to the new URLs.
- Starting with GitLab 10.3, existing Git remote URLs for projects under the
namespace redirect to the new remote URL. Every time you push/pull to a
repository that has changed its location, a warning message to update
your remote is displayed instead of rejecting your action.
This means that any automation scripts, or Git clients continue to
work after a rename, making any transition a lot smoother.
- The redirects are available as long as the original path is not claimed by
another group, user or project.
<!-- ## Troubleshooting <!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues Include any troubleshooting steps that you can foresee. If you know beforehand what issues
......
...@@ -79,7 +79,7 @@ Use the switches to enable or disable the following features: ...@@ -79,7 +79,7 @@ Use the switches to enable or disable the following features:
| **Issues** | ✓ | Activates the GitLab issues tracker | | **Issues** | ✓ | Activates the GitLab issues tracker |
| **Repository** | ✓ | Enables [repository](../repository/) functionality | | **Repository** | ✓ | Enables [repository](../repository/) functionality |
| **Merge Requests** | ✓ | Enables [merge request](../merge_requests/) functionality; also see [Merge request settings](#merge-request-settings) | | **Merge Requests** | ✓ | Enables [merge request](../merge_requests/) functionality; also see [Merge request settings](#merge-request-settings) |
| **Forks** | ✓ | Enables [forking](../index.md#fork-a-project) functionality | | **Forks** | ✓ | Enables [forking](../working_with_projects.md#fork-a-project) functionality |
| **Pipelines** | ✓ | Enables [CI/CD](../../../ci/README.md) functionality | | **Pipelines** | ✓ | Enables [CI/CD](../../../ci/README.md) functionality |
| **Container Registry** | | Activates a [registry](../../packages/container_registry/) for your Docker images | | **Container Registry** | | Activates a [registry](../../packages/container_registry/) for your Docker images |
| **Git Large File Storage** | | Enables the use of [large files](../../../topics/git/lfs/index.md#git-large-file-storage-lfs) | | **Git Large File Storage** | | Enables the use of [large files](../../../topics/git/lfs/index.md#git-large-file-storage-lfs) |
...@@ -221,7 +221,7 @@ To rename a repository: ...@@ -221,7 +221,7 @@ To rename a repository:
Remember that this can have unintended side effects since everyone with the Remember that this can have unintended side effects since everyone with the
old URL won't be able to push or pull. Read more about what happens with the old URL won't be able to push or pull. Read more about what happens with the
[redirects when renaming repositories](../index.md#redirects-when-changing-repository-paths). [redirects when renaming repositories](../repository/index.md#redirects-when-changing-repository-paths).
#### Transferring an existing project into another namespace #### Transferring an existing project into another namespace
...@@ -245,7 +245,7 @@ To transfer a project: ...@@ -245,7 +245,7 @@ To transfer a project:
Once done, you will be taken to the new project's namespace. At this point, Once done, you will be taken to the new project's namespace. At this point,
read what happens with the read what happens with the
[redirects from the old project to the new one](../index.md#redirects-when-changing-repository-paths). [redirects from the old project to the new one](../repository/index.md#redirects-when-changing-repository-paths).
NOTE: NOTE:
GitLab administrators can use the administration interface to move any project to any GitLab administrators can use the administration interface to move any project to any
......
...@@ -72,7 +72,7 @@ First, set up the project. Once done, you can use the Static Site Editor to ...@@ -72,7 +72,7 @@ First, set up the project. Once done, you can use the Static Site Editor to
1. To get started, create a new project from the [Static Site Editor - Middleman](https://gitlab.com/gitlab-org/project-templates/static-site-editor-middleman) 1. To get started, create a new project from the [Static Site Editor - Middleman](https://gitlab.com/gitlab-org/project-templates/static-site-editor-middleman)
template. You can either [fork it](../repository/forking_workflow.md#creating-a-fork) template. You can either [fork it](../repository/forking_workflow.md#creating-a-fork)
or [create a new project from a template](../../../gitlab-basics/create-project.md#built-in-templates). or [create a new project from a template](../working_with_projects.md#built-in-templates).
1. Edit the [`data/config.yml`](#static-site-generator-configuration) configuration file 1. Edit the [`data/config.yml`](#static-site-generator-configuration) configuration file
to replace `<username>` and `<project-name>` with the proper values for to replace `<username>` and `<project-name>` with the proper values for
your project's path. your project's path.
......
...@@ -184,7 +184,7 @@ Similar to versioned diff file views, you can see the changes made in a given Wi ...@@ -184,7 +184,7 @@ Similar to versioned diff file views, you can see the changes made in a given Wi
Wiki events (creation, deletion, and updates) are tracked by GitLab and Wiki events (creation, deletion, and updates) are tracked by GitLab and
displayed on the [user profile](../../profile/index.md#user-profile), displayed on the [user profile](../../profile/index.md#user-profile),
[group](../../group/index.md#view-group-activity), [group](../../group/index.md#view-group-activity),
and [project](../index.md#project-activity) activity pages. and [project](../working_with_projects.md#project-activity) activity pages.
## Adding and editing wiki pages locally ## Adding and editing wiki pages locally
......
This diff is collapsed.
...@@ -193,7 +193,7 @@ You can search through your projects from the left menu, by clicking the menu ba ...@@ -193,7 +193,7 @@ You can search through your projects from the left menu, by clicking the menu ba
On the field **Filter by name**, type the project or group name you want to find, and GitLab On the field **Filter by name**, type the project or group name you want to find, and GitLab
filters them for you as you type. filters them for you as you type.
You can also look for the projects you [starred](../project/index.md#star-a-project) (**Starred projects**). You can also look for the projects you [starred](../project/working_with_projects.md#star-a-project) (**Starred projects**).
You can **Explore** all public and internal projects available in GitLab.com, from which you can filter by visibility, You can **Explore** all public and internal projects available in GitLab.com, from which you can filter by visibility,
through **Trending**, best rated with **Most stars**, or **All** of them. through **Trending**, best rated with **Most stars**, or **All** of them.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment