2023-03-07 04:43:24 -05:00
---
2023-03-07 04:48:34 -05:00
title: 'Repository Permissions'
license: 'CC-BY-SA-4.0'
2024-02-24 16:56:39 -05:00
origin_url: 'https://codeberg.org/Codeberg/Documentation/src/commit/85d333f48badb27f8e4371263db3354f70836dfd/content/collaborating/repo-permissions.md'
2023-03-07 04:43:24 -05:00
---
2023-03-07 04:48:34 -05:00
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.
2024-05-25 22:19:35 -04:00
You can assign teams different levels of permission for each unit (e.g. issues, PRs, wiki).
2023-03-07 04:43:24 -05:00
2023-07-18 16:41:41 -04:00
## Profile and Visibility
2023-10-08 10:28:54 -04:00
The visibility of your repositories will depend on the visibility of your profile, as well as whether you have marked a repository as private. Let's break down what this means:
2023-07-18 16:41:41 -04:00
2023-10-08 10:28:54 -04:00
- If your profile's visibility is set to "Limited", _all_ of your non-private repositories will only be visible to logged in users.
- If your profile's visibility is set to "Public", _all_ of your non-private repositories will be shown to everyone.
- If you do not want anyone (apart from your fellow collaborators) to see your repositories, mark your repository as "Private".
The visibility of your profile can be changed in the `Privacy settings` . Be careful when you set your profile's visibility to "Limited"; Even if a repository is public, users that are _not logged in_ will get a [404 error ](https://en.wikipedia.org/wiki/HTTP_404 ) if they try to access your repository — it will seem as if it does not exist at all!
2023-07-18 16:41:41 -04:00
2023-08-30 20:08:10 -04:00
![screenshot showing the updated README ](../_images/user/repo-permissions/user-settings-privacy-limited.webp )
2023-07-18 16:41:41 -04:00
2023-03-07 04:43:24 -05:00
## Collaborators
2023-10-08 10:28:54 -04:00
There are four permission levels: **Read** , **Write** , **Administrator** and **Owner** .
By default, the person who creates a repository is an **_Owner_** .
2023-03-07 04:43:24 -05:00
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 >
2023-03-07 13:47:51 -05:00
< 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 >
2023-03-07 04:43:24 -05:00
< / thead >
< tbody >
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > View, clone and pull repository < / td >
2023-03-07 04:48:34 -05:00
< 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 >
2023-03-07 04:43:24 -05:00
< / tr >
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > Contribute pull requests < / td >
2023-03-07 04:48:34 -05:00
< 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 >
2023-03-07 04:43:24 -05:00
< / tr >
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > Push to/update contributed pull requests < / td >
2023-03-07 04:48:34 -05:00
< 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 >
2023-03-07 04:43:24 -05:00
< / tr >
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > Push directly to repository < / td >
2023-03-08 09:21:11 -05:00
< td > < span style = "color: red" > ❌< / span > < / td >
2023-03-07 04:48:34 -05:00
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
2023-03-07 04:43:24 -05:00
< / tr >
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > Merge pull requests < / td >
2023-03-08 09:21:11 -05:00
< td > < span style = "color: red" > ❌< / span > < / td >
2023-03-07 04:48:34 -05:00
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
2023-03-07 04:43:24 -05:00
< / tr >
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > Moderate/delete issues and comments < / td >
2023-03-08 09:21:11 -05:00
< td > < span style = "color: red" > ❌< / span > < / td >
2023-03-07 04:48:34 -05:00
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
2023-03-07 04:43:24 -05:00
< / tr >
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > Force-push/rewrite history (if enabled) < / td >
2023-03-08 09:21:11 -05:00
< td > < span style = "color: red" > ❌< / span > < / td >
2023-03-07 04:48:34 -05:00
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
2023-03-07 04:43:24 -05:00
< / tr >
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > Add/remove collaborators to repository < / td >
2023-03-08 09:21:11 -05:00
< td > < span style = "color: red" > ❌< / span > < / td >
< td > < span style = "color: red" > ❌< / span > < / td >
2023-03-07 04:48:34 -05:00
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
2023-03-07 04:43:24 -05:00
< / tr >
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > Configure branch settings (protect/unprotect, enable force-push) < / td >
2023-03-08 09:21:11 -05:00
< td > < span style = "color: red" > ❌< / span > < / td >
< td > < span style = "color: red" > ❌< / span > < / td >
2023-03-07 04:48:34 -05:00
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
2023-03-07 13:47:51 -05:00
< / tr >
2023-03-07 04:43:24 -05:00
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > Configure repository settings (enable wiki, issues, PRs, releases, update profile) < / td >
2023-03-08 09:21:11 -05:00
< td > < span style = "color: red" > ❌< / span > < / td >
< td > < span style = "color: red" > ❌< / span > < / td >
2023-03-07 04:48:34 -05:00
< td > < span style = "color: green" > ✅< / span > < / td >
< td > < span style = "color: green" > ✅< / span > < / td >
2023-03-07 04:43:24 -05:00
< / tr >
< tr >
2023-03-07 13:47:51 -05:00
< td scope = "row" > Configure repository settings in the danger zone (transfer ownership, delete wiki data / repository, archive repository) < / td >
2023-03-08 09:21:11 -05:00
< td > < span style = "color: red" > ❌< / span > < / td >
< td > < span style = "color: red" > ❌< / span > < / td >
< td > < span style = "color: red" > ❌< / span > < / td >
2023-03-07 04:48:34 -05:00
< td > < span style = "color: green" > ✅< / span > < / td >
2023-03-07 04:43:24 -05:00
< / 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 )).
2023-07-18 16:41:41 -04:00
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_ ).
2023-03-07 04:43:24 -05:00
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.
2023-10-08 10:28:54 -04:00
A team can be given the permission to create new repositories. When a member of such team creates a new repository, they will get administrator access to the repository.