Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
GitLab Community Edition
GitLab Community Edition
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
    • Locked Files
  • Issues 14,492
    • Issues 14,492
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 811
    • Merge Requests 811
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Registry
    • Registry
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GitLab.org
  • GitLab Community EditionGitLab Community Edition
  • Issues
  • #26388

You need to sign in or sign up before continuing.
Closed
Open
Opened Jan 05, 2017 by Job van der Voort@JobV🚀
  • Report abuse
  • New issue
Report abuse New issue

Push to create a new project

If I have a repo somewhere (locally), right now I have to first go to GitLab and manually create a project.

When I create a new project locally, I want it to feel just as easy as instant Git branching to push my brand new project to GitLab, so that I don't need to leave my current context to go to GitLab to manually create project. I want to stay in the terminal and for using GitLab to feel as magic as using Git!

That can be much faster. My repo already has a name, GitLab has me as a user: we can simply allow the person to push to a specific git path to create a new project.

Proposal

  1. I should be able to push a new project to my own personal namespace

git push git@gitlab.com:JobV/awesome-new-website.git master ```

  1. My newly created project will be private

  2. I will receive feedback to setup my remote and view the project

remote: remote: The private project JobV/awesome-new-website was created. remote: remote: To configure the remote, run: remote: git remote add origin git@gitlab.com:JobV/awesome-new-website.git remote: remote: To view the project, visit: remote: https://gitlab.com/JobV/awesome-new-website remote: ```

If the project already exists, we process the push normally. If the user is trying to create a new project with a project name already in use it will be rejected because the projects will be diverged.

Ideas to reduce the scope of the first iteration:

  • only support the users own namespace: supporting groups and subgroups may not require much more development, but will require more testing.

Future ideas (out of scope)

Optionally we can allow you to set the visibility by using -o public -o internal:

-o, --push-option
           Transmit the given string to the server, which passes them to the pre-receive as well as the post-receive hook.
           The given string must not contain a NUL or LF character.

Links / references

cc @gl-product @DouweM @stanhu @dzaporozhets

Edited Dec 20, 2017 by James Ramsay

Related issues

Assignee
Assign to
Epic
10.5
Milestone
10.5
Assign milestone
Time tracking
None
Due date
No due date
13
Labels
Deliverable Documentation In review P4 Platform [DEPRECATED] Product Vision 2018 S4 backend customer devops:create direction feature repository
Assign labels
  • View project labels
Reference: gitlab-org/gitlab-ce#26388