mirror of
https://codeberg.org/forgejo/docs.git
synced 2024-12-26 22:51:22 -05:00
9af05bfb01
Reviewed-on: https://codeberg.org/forgejo/website/pulls/323 # Conflicts: # v1.19/admin/command-line.md # v1.19/admin/config-cheat-sheet.md # v1.19/admin/database-preparation.md # v1.19/admin/email-setup.md # v1.19/admin/incoming-email.md # v1.19/admin/index.md # v1.19/admin/logging-documentation.md # v1.19/admin/reverse-proxy.md # v1.19/admin/seek-assistance.md # v1.19/admin/upgrade.md # v1.19/developer/code-forgejo-org.md # v1.19/developer/index.md # v1.19/index.md # v1.19/license.md # v1.19/user/agit-support.md # v1.19/user/api-usage.md # v1.19/user/authentication.md # v1.19/user/email-settings.md # v1.19/user/first-repository.md # v1.19/user/index.md # v1.19/user/issue-pull-request-templates.md # v1.19/user/issue-tracking-basics.md # v1.19/user/labels.md # v1.19/user/linked-references.md # v1.19/user/merge-message-templates.md # v1.19/user/oauth2-provider.md # v1.19/user/packages/cargo.md # v1.19/user/packages/chef.md # v1.19/user/packages/composer.md # v1.19/user/packages/conan.md # v1.19/user/packages/conda.md # v1.19/user/packages/container.md # v1.19/user/packages/generic.md # v1.19/user/packages/helm.md # v1.19/user/packages/index.md # v1.19/user/packages/maven.md # v1.19/user/packages/npm.md # v1.19/user/packages/nuget.md # v1.19/user/packages/pub.md # v1.19/user/packages/pypi.md # v1.19/user/packages/rubygems.md # v1.19/user/packages/storage.md # v1.19/user/packages/vagrant.md # v1.19/user/project.md # v1.19/user/protection.md # v1.19/user/push-options.md # v1.19/user/push-to-create.md # v1.19/user/repo-permissions.md # v1.19/user/webhooks.md # v1.19/user/wiki.md # v1.20/user/semver.md
142 lines
6.2 KiB
Markdown
142 lines
6.2 KiB
Markdown
---
|
|
title: 'Repository Permissions'
|
|
license: 'CC-BY-SA-4.0'
|
|
origin_url: 'https://codeberg.org/Codeberg/Documentation/src/commit/5d457efc069b52d512632fea024917e0848346cd/content/collaborating/repo-permissions.md'
|
|
---
|
|
|
|
When you invite collaborators to join your repository or when you create teams for your organization, you have to decide what each collaborator/team is allowed to do.
|
|
|
|
You can assign teams different levels of permission for each unit (e.g. issues, PR's, wiki).
|
|
|
|
## Profile and Visibility
|
|
|
|
Visibility of your repositories is in general inherited from your profile. So other user can only see your repositories, if your profile is _public_.
|
|
|
|
If you want to limit visibility access to your repositories you can set your **user visibility** in the user privacy settings to **Limited**. Even if your repository is public, non-contributors will get a 404-error if they try to access your repository.
|
|
|
|
![screenshot showing the updated README](../../../../images/v1.20/user/repo-permissions/user-settings-privacy-limited.webp)
|
|
|
|
## Collaborators
|
|
|
|
There are four permission levels: Read, Write, Administrator and Owner.
|
|
The owner is the person who created the repository.
|
|
|
|
The table below gives an overview of what collaborators are allowed to do when granted each of these permission levels:
|
|
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col"> Task </th>
|
|
<th scope="col"> Read </th>
|
|
<th scope="col"> Write</th>
|
|
<th scope="col"> Admin </th>
|
|
<th scope="col"> Owner </th>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td scope="row"> View, clone and pull repository </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
<tr>
|
|
<td scope="row"> Contribute pull requests </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
<tr>
|
|
<td scope="row"> Push to/update contributed pull requests </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
<tr>
|
|
<td scope="row"> Push directly to repository </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
<tr>
|
|
<td scope="row"> Merge pull requests </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
<tr>
|
|
<td scope="row"> Moderate/delete issues and comments </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
<tr>
|
|
<td scope="row"> Force-push/rewrite history (if enabled) </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
<tr>
|
|
<td scope="row"> Add/remove collaborators to repository </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
<tr>
|
|
<td scope="row"> Configure branch settings (protect/unprotect, enable force-push) </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
<tr>
|
|
<td scope="row"> Configure repository settings (enable wiki, issues, PRs, releases, update profile) </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
<tr>
|
|
<td scope="row"> Configure repository settings in the danger zone (transfer ownership, delete wiki data / repository, archive repository) </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: red">❌</span> </td>
|
|
<td> <span style="color: green">✅</span> </td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
## Teams
|
|
|
|
The permissions for teams are quite configurable. You can specify which repositories a team has access to; therefore, you can specify for each unit (Code Access, Issues, Releases) a different permission level.
|
|
|
|
Each unit is configured to have one of these 3 permission levels:
|
|
|
|
- No Access: Members cannot view or take any other action on this unit.
|
|
- Read: Members can view the unit, and do standard actions for that unit (See the Read column under [Collaborators](#collaborators)).
|
|
- Write: Members can view the unit, and execute write actions that unit (See the Write column under [Collaborators](#collaborators)).
|
|
|
|
When a team is configured to have administrator access, when this is specified, you cannot change units. The team will have admin permissions (See the Admin column under _Collaborators_).
|
|
|
|
Currently, there are six units that can be configured:
|
|
|
|
- Code: access source code, files, commits, and branches.
|
|
- Issues: organize bug reports, tasks, and milestones.
|
|
- Pull Requests: access pull requests, and code reviews.
|
|
- Releases: track the project versions and downloads.
|
|
- Wiki: access and write documentation.
|
|
- Projects: access and manage issues and pull requests in project boards.
|
|
|
|
There are also two units which can be toggled:
|
|
|
|
- External Wiki: access to external wiki.
|
|
- External Issues: access to the external issue tracker.
|
|
|
|
A team can be given the permission to create new repositories. When a member of such team creates a new repository, he/she will get administrator access to the repository.
|