| = Gerrit Code Review - Project Configuration | 
 |  | 
 | [[project-creation]] | 
 | == Project Creation | 
 |  | 
 | There are several ways to create a new project in Gerrit: | 
 |  | 
 | - in the Web UI under 'Projects' > 'Create Project' | 
 | - via the link:rest-api-projects.html#create-project[Create Project] | 
 |   REST endpoint | 
 | - via the link:cmd-create-project.html[create-project] SSH command | 
 |  | 
 | To be able to create new projects the global capability | 
 | link:access-control.html#capability_createProject[Create Project] must | 
 | be granted. | 
 |  | 
 | In addition, projects can be created link:#manual_project_creation[ | 
 | manually]. | 
 |  | 
 | [[manual_project_creation]] | 
 | === Manual Project Creation | 
 |  | 
 | . Create a Git repository under `gerrit.basePath`: | 
 | + | 
 | ---- | 
 |   git --git-dir=$base_path/new/project.git init | 
 | ---- | 
 | + | 
 | [TIP] | 
 | By tradition the repository directory name should have a `.git` | 
 | suffix. | 
 | + | 
 | To also make this repository available over the anonymous git:// | 
 | protocol, don't forget to create a `git-daemon-export-ok` file: | 
 | + | 
 | ---- | 
 |   touch $base_path/new/project.git/git-daemon-export-ok | 
 | ---- | 
 |  | 
 | . Register Project | 
 | + | 
 | Either restart the server, or flush the `project_list` cache: | 
 | + | 
 | ---- | 
 |   ssh -p 29418 localhost gerrit flush-caches --cache project_list | 
 | ---- | 
 |  | 
 | [[project_options]] | 
 | == Project Options | 
 |  | 
 | See details at link:config-project-config.html#project-section[project section]. | 
 |  | 
 | [[branch-admin]] | 
 | == Branch Administration | 
 |  | 
 | [[branch-creation]] | 
 | === Branch Creation | 
 |  | 
 | There are several ways to create a new branch in a project: | 
 |  | 
 | - in the Web UI under 'Projects' > 'List' > <project> > 'Branches' | 
 | - via the link:rest-api-projects.html#create-branch[Create Branch] | 
 |   REST endpoint | 
 | - via the link:cmd-create-branch.html[create-branch] SSH command | 
 | - by using a git client to push a commit to a non-existing branch | 
 |  | 
 | To be able to create new branches the user must have the | 
 | link:access-control.html#category_create[Create Reference] access | 
 | right. | 
 |  | 
 | When using the Web UI, the REST endpoint or the SSH command it is only | 
 | possible to create branches on commits that already exist in the | 
 | repository. | 
 |  | 
 | If a branch name does not start with `refs/` it is automatically | 
 | prefixed with `refs/heads/`. | 
 |  | 
 | The starting revision for a new branch can be any valid SHA-1 | 
 | expression, as long as it resolves to a commit. Abbreviated SHA-1s | 
 | are not supported. | 
 |  | 
 | [[branch-deletion]] | 
 | === Branch Deletion | 
 |  | 
 | There are several ways to delete a branch: | 
 |  | 
 | - in the Web UI under 'Projects' > 'List' > <project> > 'Branches' | 
 | - via the link:rest-api-projects.html#delete-branch[Delete Branch] | 
 |   REST endpoint | 
 | - by using a git client | 
 | + | 
 | ---- | 
 |   $ git push origin --delete refs/heads/<branch-to-delete> | 
 | ---- | 
 | + | 
 | another method, by force pushing nothing to an existing branch: | 
 | + | 
 | ---- | 
 |   $ git push --force origin :refs/heads/<branch-to-delete> | 
 | ---- | 
 |  | 
 | To be able to delete branches, the user must have the | 
 | link:access-control.html#category_delete[Delete Reference] or the | 
 | link:access-control.html#category_push[Push] access right with the | 
 | `force` option. | 
 |  | 
 | [[default-branch]] | 
 | === Default Branch | 
 |  | 
 | The default branch of a remote repository is defined by its `HEAD`. | 
 | For convenience reasons, when the repository is cloned Git creates a | 
 | local branch for this default branch and checks it out. | 
 |  | 
 | Project owners can set `HEAD` | 
 |  | 
 | - in the Web UI under 'Projects' > 'List' > <project> > 'Branches' or | 
 | - via the link:rest-api-projects.html#set-head[Set HEAD] REST endpoint | 
 |  | 
 |  | 
 | GERRIT | 
 | ------ | 
 | Part of link:index.html[Gerrit Code Review] | 
 |  | 
 | SEARCHBOX | 
 | --------- |