Commit 3c2295b3 authored by Suzanne Selhorn's avatar Suzanne Selhorn

Merge branch 'fneill-ctrt-working-with-projects-part-1' into 'master'

CTRT edits for "Working with projects" Part 1

See merge request gitlab-org/gitlab!76345
parents 1e136979 d112a89a
...@@ -153,7 +153,7 @@ Confirm the following are all true: ...@@ -153,7 +153,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](../../user/project/working_with_projects.md#blank-projects) - Creating a new project and [initializing it with a README](../../user/project/working_with_projects.md#create-a-blank-project)
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
......
...@@ -1262,7 +1262,7 @@ POST /projects ...@@ -1262,7 +1262,7 @@ POST /projects
| `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. |
| `squash_option` | string | **{dotted-circle}** No | One of `never`, `always`, `default_on`, or `default_off`. | | `squash_option` | string | **{dotted-circle}** No | One of `never`, `always`, `default_on`, or `default_off`. |
| `tag_list` | array | **{dotted-circle}** No | _([Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0)_ The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. | | `tag_list` | array | **{dotted-circle}** No | _([Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0)_ The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. |
| `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_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../user/project/working_with_projects.md#create-a-project-from-a-built-in-template). 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. |
| `topics` | array | **{dotted-circle}** No | The list of topics for a project; put array of topics, that should be finally assigned to a project. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0.)_ | | `topics` | array | **{dotted-circle}** No | The list of topics for a project; put array of topics, that should be finally assigned to a project. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0.)_ |
| `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. |
...@@ -1342,7 +1342,7 @@ POST /projects/user/:user_id ...@@ -1342,7 +1342,7 @@ POST /projects/user/:user_id
| `squash_option` | string | **{dotted-circle}** No | One of `never`, `always`, `default_on`, or `default_off`. | | `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). | | `suggestion_commit_message` | string | **{dotted-circle}** No | The commit message used to apply merge request [suggestions](../user/project/merge_requests/reviews/suggestions.md). |
| `tag_list` | array | **{dotted-circle}** No | _([Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0)_ The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. | | `tag_list` | array | **{dotted-circle}** No | _([Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0)_ The list of tags for a project; put array of tags, that should be finally assigned to a project. Use `topics` instead. |
| `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_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../user/project/working_with_projects.md#create-a-project-from-a-built-in-template). When used with `use_custom_template`, name of a custom project template. |
| `topics` | array | **{dotted-circle}** No | The list of topics for the project. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0.)_ | | `topics` | array | **{dotted-circle}** No | The list of topics for the project. _([Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328226) in GitLab 14.0.)_ |
| `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). |
......
...@@ -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](../user/project/working_with_projects.md#fork-a-project), of them is the ability to create merge requests from and to [forks](../user/project/repository/forking_workflow.md#creating-a-fork),
which should also be highly considered and tested upon development phase. which should also be highly considered and tested upon development phase.
...@@ -27,7 +27,7 @@ The following are guides to basic GitLab functionality: ...@@ -27,7 +27,7 @@ The following are guides to basic GitLab functionality:
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](../user/project/working_with_projects.md#fork-a-project), to duplicate projects so they can be worked on in parallel. - [Fork a project](../user/project/repository/forking_workflow.md#creating-a-fork), 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.
......
...@@ -9,12 +9,12 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -9,12 +9,12 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6861) in GitLab 11.6. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6861) in GitLab 11.6.
When you create a project, you can [choose from a list of templates](../project/working_with_projects.md#project-templates). When you create a project, you can [choose from a list of templates](../project/working_with_projects.md#create-a-project).
These templates, for things like GitLab Pages or Ruby, populate the new project with a copy of the files contained in the These templates, for things like GitLab Pages or Ruby, populate the new project with a copy of the files contained in the
template. This information is identical to the information used by [GitLab project import/export](../project/settings/import_export.md) template. This information is identical to the information used by [GitLab project import/export](../project/settings/import_export.md)
and can help you start a new project more quickly. and can help you start a new project more quickly.
You can [customize the list](../project/working_with_projects.md#custom-project-templates) of available templates, so You can [customize the list](../project/working_with_projects.md#create-a-project) of available templates, so
that all projects in your group have the same list. To do this, you populate a subgroup with the projects you want to that all projects in your group have the same list. To do this, you populate a subgroup with the projects you want to
use as templates. use as templates.
......
...@@ -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](../../working_with_projects.md#project-templates) You can also use a [template](../../working_with_projects.md#create-a-project)
(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).
......
...@@ -271,4 +271,4 @@ This is rendered as: ...@@ -271,4 +271,4 @@ This is 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#access-your-user-profile), displayed on the [user profile](../../profile/index.md#access-your-user-profile),
[group](../../group/index.md#view-group-activity), [group](../../group/index.md#view-group-activity),
and [project](../working_with_projects.md#project-activity) activity pages. and [project](../working_with_projects.md#view-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. Select the name of the project you want to [fork](../../../../user/project/working_with_projects.md#fork-a-project). 1. Select the name of the project you want to [fork](../../repository/forking_workflow.md#creating-a-fork).
1. In the top right, select **Fork** and then choose a namespace to fork to. 1. In the top right, select **Fork** and then choose a namespace to fork to.
1. For your project, on the left sidebar, select **CI/CD > Pipelines** and then **Run pipeline**. 1. For your project, on the left sidebar, select **CI/CD > Pipelines** and then **Run pipeline**.
GitLab CI/CD builds and deploys your site. GitLab CI/CD builds and deploys your site.
......
...@@ -27,7 +27,7 @@ To create a GitLab Pages website: ...@@ -27,7 +27,7 @@ To create a GitLab Pages website:
## Prerequisites ## Prerequisites
You must have a [blank project](../../working_with_projects.md#blank-projects) in GitLab. You must have a [blank project](../../working_with_projects.md#create-a-blank-project) in GitLab.
## Create the project files ## Create the project files
......
...@@ -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](../working_with_projects.md#built-in-templates). or [create a new project from a template](../working_with_projects.md#create-a-project-from-a-built-in-template).
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.
......
...@@ -236,7 +236,7 @@ GitLab tracks wiki creation, deletion, and update events. These events are displ ...@@ -236,7 +236,7 @@ GitLab tracks wiki creation, deletion, and update events. These events are displ
- [User profile](../../profile/index.md#access-your-user-profile). - [User profile](../../profile/index.md#access-your-user-profile).
- Activity pages, depending on the type of wiki: - Activity pages, depending on the type of wiki:
- [Group activity](../../group/index.md#view-group-activity). - [Group activity](../../group/index.md#view-group-activity).
- [Project activity](../working_with_projects.md#project-activity). - [Project activity](../working_with_projects.md#view-project-activity).
Commits to wikis are not counted in [repository analytics](../../analytics/repository_analytics.md). Commits to wikis are not counted in [repository analytics](../../analytics/repository_analytics.md).
......
...@@ -9,21 +9,22 @@ info: "To determine the technical writer assigned to the Stage/Group associated ...@@ -9,21 +9,22 @@ info: "To determine the technical writer assigned to the Stage/Group associated
Most work in GitLab is done in a [project](../../user/project/index.md). Files and Most work in GitLab is done in a [project](../../user/project/index.md). Files and
code are saved in projects, and most features are in the scope of projects. code are saved in projects, and most features are in the scope of projects.
## Explore projects ## View projects
You can explore other popular projects available on GitLab. To explore projects: To explore projects:
1. On the top bar, select **Menu > Projects**. 1. On the top bar, select **Menu > Projects**.
1. Select **Explore projects**. 1. Select **Explore projects**.
GitLab displays a list of projects, sorted by last updated date. To view GitLab displays a list of projects, sorted by last updated date.
projects with the most [stars](#star-a-project), click **Most stars**. To view
projects with the largest number of comments in the past month, click **Trending**. - To view projects with the most [stars](#star-a-project), select **Most stars**.
- To view projects with the largest number of comments in the past month, select **Trending**.
NOTE: NOTE:
By default, `/explore` is visible to unauthenticated users. However, if the The **Explore projects** tab is visible to unauthenticated users unless the
[**Public** visibility level](../admin_area/settings/visibility_and_access_controls.md#restrict-visibility-levels) [**Public** visibility level](../admin_area/settings/visibility_and_access_controls.md#restrict-visibility-levels)
is restricted, `/explore` is visible only to signed-in users. is restricted. Then the tab is visible only to signed-in users.
## Explore topics ## Explore topics
...@@ -44,239 +45,259 @@ If you're an instance administrator, you can administer all project topics from ...@@ -44,239 +45,259 @@ If you're an instance administrator, you can administer all project topics from
To create a project in GitLab: To create a project in GitLab:
1. In your dashboard, select **New project** or use the **New...** **{plus-square}** icon 1. On the top bar, select **Menu > Project**.
on the top bar. The **New project** page opens. 1. Select **Create new project**.
1. On the **New project** page, choose if you want to: 1. On the **New project** page, choose if you want to:
- Create a [blank project](#blank-projects). - Create a [blank project](#create-a-blank-project).
- Create a project using one of the available [project templates](#project-templates). - Create a project from a:
- [Import a project](../../user/project/import/index.md) from a different repository, - [built-in template](#create-a-project-from-a-built-in-template).
if enabled on your GitLab instance. Contact your GitLab administrator if this is unavailable. - [custom template](#create-a-project-from-a-custom-template).
- Run [CI/CD pipelines for external repositories](../../ci/ci_cd_for_external_repos/index.md). **(PREMIUM)** - [HIPAA audit protocol template](#create-a-project-from-the-hipaa-audit-protocol-template).
- [Import a project](../../user/project/import/index.md)
from a different repository. Contact your GitLab administrator if this option is not available.
- [Connect an external repository to GitLab CI/CD](../../ci/ci_cd_for_external_repos/index.md).
NOTE: NOTE:
For a list of words that can't be used as project names see For a list of words that can't be used as project names see
[Reserved project and group names](../../user/reserved_names.md). [reserved project and group names](../../user/reserved_names.md).
### Blank projects ## Create a blank project
To create a new blank project on the **New project** page: To create a blank project:
1. Click **Create blank project** 1. On the top bar, select **Menu > Project**.
1. Provide the following information: 1. Select **Create new project**.
- The name of your project in the **Project name** field. You can't use 1. Select **Create blank project**.
special characters, but you can use spaces, hyphens, underscores, or even 1. Enter the project details:
emoji. When adding the name, the **Project slug** auto populates. - In the **Project name** field, enter the name of your project. You can use spaces, hyphens,
The slug is what the GitLab instance uses as the URL path to the project. underscores, and emoji. You cannot use special characters. After you enter the name,
If you want a different slug, input the project name first, the **Project slug** populates.
then change the slug after. - In the **Project slug** field, enter the path to your project. The GitLab instance uses the
- The path to your project in the **Project slug** field. This is the URL slug as the URL path to the project. To change the slug, first enter the project name,
path for your project that the GitLab instance uses. If the then change the slug.
**Project name** is blank, it auto populates when you fill in - In the **Project description (optional)** field, enter the description of your project's dashboard.
the **Project slug**. - To modify the project's [viewing and access rights](../../public_access/public_access.md) for
- The **Project description (optional)** field enables you to enter a users, change the **Visibility Level**.
description for your project's dashboard, which helps others - To create README file so that the Git repository is initialized, has a default branch, and
understand what your project is about. Though it's not required, it's a good can be cloned, select **Initialize repository with a README**.
idea to fill this in. - To analyze the source code in the project for known security vulnerabilities,
- Changing the **Visibility Level** modifies the project's select **Enable Static Application Security Testing (SAST)**.
[viewing and access rights](../../public_access/public_access.md) for users. 1. Select **Create project**.
- Selecting the **Initialize repository with a README** option creates a
README file so that the Git repository is initialized, has a default branch, and ## Create a project from a built-in template
can be cloned.
1. Click **Create project**. A built-in project template populates a new project with files to get you started.
Built-in templates are sourced from the following groups:
### Project templates
- [`project-templates`](https://gitlab.com/gitlab-org/project-templates)
Project templates can pre-populate a new project with the necessary files to get you - [`pages`](https://gitlab.com/pages)
started quickly.
Anyone can contribute a built-in template by following [these steps](https://about.gitlab.com/community/contribute/project-templates/).
There are two main types of project templates:
To create a project from a built-in template:
- [Built-in templates](#built-in-templates), sourced from the following groups:
- [`project-templates`](https://gitlab.com/gitlab-org/project-templates) 1. On the top bar, select **Menu > Project**.
- [`pages`](https://gitlab.com/pages) 1. Select **Create new project**.
- [Custom project templates](#custom-project-templates), for custom templates 1. Select **Create from template**.
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.
- Anyone can contribute a built-in template by following [these steps](https://about.gitlab.com/community/contribute/project-templates/).
To use a built-in template on the **New project** page:
1. Click **Create from template**
1. Select the **Built-in** tab. 1. Select the **Built-in** tab.
1. From the list of available built-in templates, click the: 1. From the list of templates:
- **Preview** button to look at the template source itself. - To view a preview of the template, select **Preview**.
- **Use template** button to start creating the project. - To use a template for the project, select **Use template**.
1. Finish creating the project by filling out the project's details. The process is 1. Enter the project details:
the same as creating a [blank project](#blank-projects). - In the **Project name** field, enter the name of your project. You can use spaces, hyphens,
underscores, and emoji. You cannot use special characters. After you enter the name,
##### Enterprise templates **(ULTIMATE)** the **Project slug** populates.
- In the **Project slug** field, enter the path to your project. The GitLab instance uses the
slug as the URL path to the project. To change the slug, first enter the project name,
then change the slug.
- In the **Project description (optional)** field, enter the description of your project's dashboard.
- To modify the project's [viewing and access rights](../../public_access/public_access.md) for users,
change the **Visibility Level**.
1. Select **Create project**.
## Create a project from a custom template **(PREMIUM)**
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. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2.
To create a new project with an Enterprise template, on the **New project** page:
1. Click **Create from template** Custom project templates are available at:
- The [instance-level](../../user/admin_area/custom_project_templates.md)
- The [group-level](../../user/group/custom_project_templates.md)
1. On the top bar, select **Menu > Project**.
1. Select **Create new project**.
1. Select **Create from template**.
1. Select the **Instance** or **Group** tab.
1. From the list of templates:
- To view a preview of the template, select **Preview**.
- To use a template for the project, select **Use template**.
1. Enter the project details:
- In the **Project name** field, enter the name of your project. You can use spaces, hyphens,
underscores, and emoji. You cannot use special characters. After you enter the name,
the **Project slug** populates.
- In the **Project slug** field, enter the path to your project. The GitLab instance uses the
slug as the URL path to the project. To change the slug, first enter the project name,
then change the slug.
- The description of your project's dashboard in the **Project description (optional)** field.
- To modify the project's [viewing and access rights](../../public_access/public_access.md) for users,
change the **Visibility Level**.
1. Select **Create project**.
## Create a project from the HIPAA Audit Protocol template **(ULTIMATE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13756) in GitLab 12.10
The HIPAA Audit Protocol template contains issues for audit inquiries in the
HIPAA Audit Protocol published by the U.S Department of Health and Human Services.
To create a project from the HIPAA Audit Protocol template:
1. On the top bar, select **Menu > Project**.
1. Select **Create new project**.
1. Select **Create from template**.
1. Select the **Built-in** tab. 1. Select the **Built-in** tab.
1. From the list of available built-in Enterprise templates, click the: 1. Locate the **HIPAA Audit Protocol** template:
- **Preview** button to look at the template source itself. - To view a preview of the template, select **Preview**.
- **Use template** button to start creating the project. - To use the template for the project, select **Use template**.
1. Finish creating the project by filling out the project's details. The process is the same as creating a [blank project](#blank-projects). 1. Enter the project details:
- In the **Project name** field, enter the name of your project. You can use spaces, hyphens,
underscores, and emoji. You cannot use special characters. After you enter the name,
the **Project slug** populates.
- In the **Project slug** field, enter the path to your project. The GitLab instance uses the
slug as the URL path to the project. To change the slug, first enter the project name,
then change the slug.
- In the **Project description (optional)** field, enter the description of your project's dashboard.
- To modify the project's [viewing and access rights](../../public_access/public_access.md) for users,
change the **Visibility Level**.
1. Select **Create project**.
Available Enterprise templates include: ## Push to create a new project
- HIPAA Audit Protocol template ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13756) in GitLab 12.10)
NOTE: > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/26388) in GitLab 10.5.
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)** Use `git push` to push a local project repository to GitLab. After you push a repository,
GitLab creates your project in your chosen namespace.
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2. You cannot use `git push` to create projects with project paths that:
Creating new projects based on custom project templates is a convenient option for - Have previously been used.
quickly starting projects. - Have been [renamed](settings/index.md#renaming-a-repository).
Custom projects are available at the [instance-level](../../user/admin_area/custom_project_templates.md) Previously used project paths have a redirect. The redirect causes push attempts to redirect requests
from the **Instance** tab, or at the [group-level](../../user/group/custom_project_templates.md) to the renamed project location, instead of creating a new project. To create a new project for a previously
from the **Group** tab, on the **Create from template** page. used or renamed project, use the [UI](#create-a-project) or the [Projects API](../../api/projects.md#create-project).
To use a custom project template on the **New project** page: Prerequisites:
1. Click **Create from template** - To push with SSH, you must have [an SSH key](../../ssh/index.md) that is
1. Select the **Instance** tab or the **Group** tab. [added to your GitLab account](../../ssh/index.md#add-an-ssh-key-to-your-gitlab-account).
1. From the list of available custom templates, click the: - You must have permission to add new projects to a namespace. To check if you have permission:
- **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 1. On the top bar, select **Menu > Project**.
1. Select **Groups**.
1. Select a group.
1. Confirm that **New project** is visible in the upper right
corner. Contact your GitLab
administrator if you require permission.
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/26388) in GitLab 10.5. To push your repository and create a project:
When you create a new repository locally, you don't have to sign in to the GitLab 1. Push with SSH or HTTPS:
interface to create a project and - To push with SSH:
[clone its repository](../../gitlab-basics/start-using-git.md#clone-a-repository).
You can directly push your new repository to GitLab, which creates your new project
without leaving your terminal.
To push a new project:
1. Identify the [namespace](../group/index.md#namespaces) you want to add the new
project to, as you need this information in a future step. To determine if you have
permission to create new projects in a namespace, view the group's page in a
web browser and confirm the page displays a **New project** button.
NOTE:
As project creation permissions can have many factors, contact your
GitLab administrator if you're unsure.
1. If you want to push using SSH, ensure you have [created a SSH key](../../ssh/index.md) and
[added it to your GitLab account](../../ssh/index.md#add-an-ssh-key-to-your-gitlab-account).
1. Push with one of the following methods. Replace `gitlab.example.com` with the
domain name of the machine that hosts your Git repository, `namespace` with the name of
your namespace, and `myproject` with the name of your new project:
- To push with SSH: `git push --set-upstream git@gitlab.example.com:namespace/myproject.git master`
- To push with HTTPS: `git push --set-upstream https://gitlab.example.com/namespace/myproject.git master`
Optional: to export existing repository tags, append the `--tags` flag to your `git push` command.
1. When the push completes, GitLab displays a message:
```plaintext ```shell
remote: The private project namespace/myproject was created. git push --set-upstream git@gitlab.example.com:namespace/myproject.git master
``` ```
1. Optional. To configure the remote, alter the command - To push with HTTPS:
`git remote add origin https://gitlab.example.com/namespace/myproject.git`
to match your namespace and project names.
You can view your new project at `https://gitlab.example.com/namespace/myproject`. ```shell
Your project's visibility is set to **Private** by default, but you can change it git push --set-upstream https://gitlab.example.com/namespace/myproject.git master
in your [project's settings](../../public_access/public_access.md#change-project-visibility)). ```
This feature does not work for project paths that have previously been in use and - For `gitlab.example.com`, use the domain name of the machine that hosts your Git repository.
[renamed](settings/index.md#renaming-a-repository). A redirect exists over the previous project path - For `namespace`, use the name of your [namespace](../group/index.md#namespaces).
that causes push attempts to redirect requests to the renamed project location, instead of creating - For `myproject`, use the name of your project.
a new project. To create a new project, use the [Web UI](#create-a-project) or the - Optional. To export existing repository tags, append the `--tags` flag to your `git push` command.
[Projects API](../../api/projects.md#create-project). 1. Optional. To configure the remote:
## Fork a project ```shell
git remote add origin https://gitlab.example.com/namespace/myproject.git
```
When the push completes, GitLab displays the message:
A fork is a copy of an original repository that you put in another namespace ```shell
where you can experiment and apply changes that you can later decide whether or remote: The private project namespace/myproject was created.
not to share, without affecting the original project. ```
It takes just a few steps to [fork a project in GitLab](repository/forking_workflow.md#creating-a-fork). To view your new project, go to `https://gitlab.example.com/namespace/myproject`.
Your project's visibility is set to **Private** by default. To change project visibility, adjust your
[project's settings](../../public_access/public_access.md#change-project-visibility).
## Star a project ## Star a project
You can star a project to make it easier to find projects you frequently use. You can add a star to projects you use frequently to make them easier to find.
The number of stars a project has can indicate its popularity.
To star a project: To add a star to a project:
1. Go to the home page of the project you want to star. 1. On the top bar, select **Menu > Project**.
1. In the upper right corner of the page, click **Star**. 1. Select **Your projects** or **Explore projects**.
1. Select a project.
1. In the upper right corner of the page, select **Star**.
To view your starred projects: ## View starred projects
1. On the top bar, select **Menu > Projects**. 1. On the top bar, select **Menu > Project**.
1. Select **Starred Projects**. 1. Select **Starred projects**.
1. GitLab displays information about your starred projects, including: 1. GitLab displays information about your starred projects, including:
- Project description, including name, description, and icon - Project description, including name, description, and icon.
- Number of times this project has been starred - Number of times this project has been starred.
- Number of times this project has been forked - Number of times this project has been forked.
- Number of open merge requests - Number of open merge requests.
- Number of open issues - Number of open issues.
## Delete a project ## Delete a project
To delete a project, first navigate to the home page for that project. After you delete a project, projects in personal namespaces are deleted immediately. You can
[enable delayed project removal](../group/index.md#enable-delayed-project-deletion) to
delay deletion of projects in a group.
To delete a project:
1. Navigate to **Settings > General**. 1. On the top bar, select **Menu > Project**.
1. Select **Your projects** or **Explore projects**.
1. Select a project.
1. Select **Settings > General**.
1. Expand the **Advanced** section. 1. Expand the **Advanced** section.
1. Scroll down to the **Delete project** section. 1. Scroll down to the **Delete project** section.
1. Click **Delete project** 1. Select **Delete project**
1. Confirm this action by typing in the expected text. 1. Confirm this action by completing the field.
Projects in personal namespaces are deleted immediately on request. For information on delayed deletion of projects in a group, please see [delayed project deletion](settings/index.md#delayed-project-deletion). ## View project activity
## Project settings To view the activity of a project:
Set the project's visibility level and the access levels to its various pages 1. On the top bar, select **Menu > Project**.
and perform actions like archiving, renaming or transferring a project. 1. Select **Your projects** or **Explore projects**.
1. Select a project.
1. On the left sidebar, select **Project information > Activity**.
1. Select a tab to view the type of project activity.
Read through the documentation on [project settings](settings/index.md). ## Leave a project
## Project activity If you leave a project you are no longer a project
member and cannot contribute.
To view the activity of a project: To leave a project:
1. On the left sidebar, select **Project information > Activity**. 1. On the top bar, select **Menu > Project**.
1. Select a tab to view **All** the activity, or to filter it by any of these criteria: 1. Select **Your projects** or **Explore projects**.
- **Push events** 1. Select a project.
- **Merge events** 1. Select **Leave project**. The **Leave project** option only displays
- **Issue events** on the project dashboard when a project is part of a group under a
- **Comments** [group namespace](../group/index.md#namespaces).
- **Team**
- **Wiki**
### Leave a project
**Leave project** only displays on the project's dashboard
when a project is part of a group (under a
[group namespace](../group/index.md#namespaces)).
If you choose to leave a project you are no longer a project
member, and cannot contribute.
## Use your project as a Go package ## Use your project as a Go package
...@@ -285,8 +306,8 @@ and `godoc.org` discovery requests, including the ...@@ -285,8 +306,8 @@ and `godoc.org` discovery requests, including the
[`go-import`](https://golang.org/cmd/go/#hdr-Remote_import_paths) and [`go-import`](https://golang.org/cmd/go/#hdr-Remote_import_paths) and
[`go-source`](https://github.com/golang/gddo/wiki/Source-Code-Links) meta tags. [`go-source`](https://github.com/golang/gddo/wiki/Source-Code-Links) meta tags.
Private projects, including projects in subgroups, can be used as a Go package, Private projects, including projects in subgroups, can be used as a Go package.
but may require configuration to work correctly. GitLab responds correctly These projects may require configuration to work correctly. GitLab responds correctly
to `go get` discovery requests for projects that *are not* in subgroups, to `go get` discovery requests for projects that *are not* in subgroups,
regardless of authentication or authorization. regardless of authentication or authorization.
[Authentication](#authenticate-go-requests) is required to use a private project [Authentication](#authenticate-go-requests) is required to use a private project
...@@ -427,3 +448,10 @@ For users without permissions to view the project's code, GitLab displays: ...@@ -427,3 +448,10 @@ For users without permissions to view the project's code, GitLab displays:
- The wiki homepage, if any. - The wiki homepage, if any.
- The list of issues in the project. - The list of issues in the project.
## Related topics
- [Import a project](../../user/project/import/index.md).
- [Connect an external repository to GitLab CI/CD](../../ci/ci_cd_for_external_repos/index.md).
- [Fork a project](repository/forking_workflow.md#creating-a-fork).
- [Adjust project visibility and access levels](settings/index.md#sharing-and-permissions).
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