Skip to content
Snippets Groups Projects
Commit 839829a7 authored by Tiago Botelho's avatar Tiago Botelho
Browse files

Adds documentation for the feature

parent dc229c07
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -33,5 +33,43 @@
 
1. Click **Create project**.
 
## Push to create a new project
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/26388) in GitLab 10.5.
When you create a new repo locally, instead of going to GitLab to manually
create a new project and then push the repo, you can directly push it to
GitLab to create the new project, all without leaving your terminal. That
will automatically create a new project under a GitLab namespace that you have access to
with its visibility set to private by default (you can later change it).
This can be done by using either SSH or HTTP:
```
## Git push using SSH
git push git@gitlab.com:namespace/nonexistent-project.git branch_name
## Git push using HTTP
git push https://gitlab.com/namespace/nonexistent-project.git branch_name
```
Once the push finishes successfully, a remote message will indicate
the command to set the remote and the URL to the new project:
```
remote:
remote: The private project namespace/nonexistent-project was created.
remote:
remote: To configure the remote, run:
remote: git remote add origin https://gitlab.com/namespace/nonexistent-project.git
remote:
remote: To view the project, visit:
remote: https://gitlab.com/namespace/nonexistent-project
remote:
```
If the project name is already in use, your push will be rejected
to prevent accidental overwriting the existing project.
[import it]: ../workflow/importing/README.md
[reserved]: ../user/reserved_names.md
Loading
Loading
@@ -2,6 +2,8 @@
# class return an instance of `GitlabAccessStatus`
module Gitlab
class GitAccess
include Gitlab::Utils::StrongMemoize
UnauthorizedError = Class.new(StandardError)
NotFoundError = Class.new(StandardError)
ProjectCreationError = Class.new(StandardError)
Loading
Loading
@@ -239,9 +241,11 @@ module Gitlab
end
 
def can_create_project_in_namespace?(cmd)
return false unless push?(cmd) && target_namespace && project.blank?
strong_memoize(:can_create_project_in_namespace) do
return false unless push?(cmd) && target_namespace && project.blank?
 
user.can?(:create_projects, target_namespace)
user.can?(:create_projects, target_namespace)
end
end
 
def http?
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment