Skip to end of metadata
Go to start of metadata

Forking a repo is perhaps the best way to work with others on Bitbucket. There are other ways to interact and collaborate. For example, you can follow another user or add a user to your repository. You can do the procedures on this page in any order you like.

Add users to your repository

If you own a public repository, any Bitbucket user can fork that repository, make changes and send a pull request to you. However, you may want to keep your repository private. In that case, you can add users you know or invite users you think may want to contribute. For both public and private repositories, you can give users the permission to push changes directly to your repository or more, administrate your repository. To do this, you add a user and set their permissions.

  1. Go to the Settings page for your bb101repo repository.
  2. Click on Access Management.
  3. Start typing a username in the field provided.
    The system provides a dropdown list of possible users that match.
    If you don't know a username you want to add, try adding the tutorials user or atlassian_tutorial.
  4. Select a matching name from the dropdown.
  5. Select a permission:
    LevelThis permissions allows a user to do the following:
    readView, clone, and fork the repository code. All public repositories grant all Bitbucket users read permissions automatically. Read access on a repository also allows users to create issues, comment on issues, and edit wiki pages.
    writeContribute to the repository by pushing changes directly from a repository on a local machine.
    adminCan do everything a repository owner can do. This means administrators can:
    • Change repository settings.
    • Add, change, and remove user permissions.
    • Give other users administrator access.
    • Delete the repository.
  6. Click the Add button.
    The system adds the user to the Users list with the permissions you selected. It also sends an email to the user informing them about the add.

If you make a mistake, delete the user and try again.

Verify Plans and users

Bitbucket allows everyone with a free account an unlimited number of public and private repositories. You can grant as many users as you want access to your public repositories. Bitbucket plans restrict the number of users with access to your private repositories. Users with permissions such as write or admin on public repos don't count. With a free plan, you get up to five users, including yourself, with access to your private repositories. 

After adding users to your account, you should review your plan and note which users "count" toward it. To view your plan, do the following:

  1. Choose avatar > Manage Account.
  2. Choose Plans details from the left hand panel.
    The system displays your current plan status:
  3. Scroll down the page and review the users with access:

    In this example, four users have access: B userbbtutorials (the current account), atlassian_tutorial, and Jonathan Docklovic. Your plan should show the user you granted access to previously. How would your Plan details and Billing details appear if you change bb101repo from private to public? Go ahead and try it.


Beyond code contributions, users can also contribute to your repositories by writing documentation in a wiki or making comments through an issue tracker. In the next section, you enable a wiki and an issue tracker on the bb101repo.


  1. Anonymous

    I created repositories in bitbucket.I tried to send an invite to a friend's email address. I am getting error "Repository no longer exists". I can see the repositores ofcourse.

  2. Anonymous

    How can I get more users limit for free? What abou this "Invite your friends to Bitbucket and we'll give you up to 3 additional users free."?

    Because I've already invite some but I cna't see any additional users.

    1. Anonymous

      You get the additional users when they accept the Invitation

      1. Am I right in thinking this offer has expired?  I've invited users via "Invite a friend", they've accepted and joined our project - but no change to user allowance :-\

        1. Yes, as long as you can see the UI for this offer it is in effect. Please log an issue with and they'll sort you out. 

  3. KY

    Hi manthony, may i ask what kind of custom stylesheet is applied to this space? It looked amazing and would like to know how to hide the action buttons and the rest of custom header styles. Thanks.

    1. Hi,

      I'm glad you like the stylesheet.  This is an experimental stylesheet for a new style on Atlassian docs.  So, that means I don't know if I can give it away wholesale.  I'll ask my lead about sharing and get back to you.  

      At the least, I think I can share how to hide the page navigation menu and page metadata.

      You can actually turn on Inspect Element in your browser to find these classes yourself.  Then, it is just the matter of knowing the CSS to add to your stylesheet.


  4. Anonymous

    Can a user with 'write' privileges permanently erase anything from a repository, or can the user only 'add' commits? in other words, can a user with 'write' privileges wipe a commit from the repo?

    1. Yes, with Git a user could rewrite the history and push that rewrite. You can prevent this by using our Git branch management features.  We don't have any such features on Mercurial repos.  Mercurial treats history differently than Git.

  5. Anonymous

    Is there a way to give a user permissions only on a certain branch and not on the master one?

    Say I need the members of the team to be able to commit and push into a development branch and only the team leader to be able to merge the code into master branch.

    1. Those are called branch permissions. We don't have those yet.  You can use forks to do this kind of thing or you could try STASH.

  6. Anonymous

    What is "avatar" and where is it located?

    1. Upper right corner – the avatar picture.  You might have a placeholder or it might be a picture you have uploaded.

  7. Anonymous

    My repository contains work done for a study project and the course policy demands the repository to be private. I would still like to show the work for example when applying for a job. How should I do this? Create a new user account with only read access to the repository (I cannot know in advance the Bitbucket account of the person reviewing my application or if he even has one).

    1. You could zip up your project and provide it as a sample when you apply.  Though, I would recommend you check with your instructor. If the work you did was on behalf of a commercial firm and mean for a live product, you might be under some agreement never to share that code.

  8. Anonymous

    Is there anyway to allow everyone write access to a branch and limit writes to specific users on the default branch?

    1. We don't have per-branch permissions. You might be able to achieve this workflow with Branch management.

  9. The first step says to go to the Admin page in your repo. Up to this point in the Bitbucket 101 tutorial, I believe this page not been discussed. Can I suggest pointing out that it is found by clicking the cog icon (there is no "admin" word to look for...) on the right side of the repo navigation bar?  Otherwise it could take some time to figure that out...

    1. I noticed that too. I think it could be changed


      Go to the Admin page for your bb101repo repository.


      Go to the Settings page for your bb101repo repository.

  10. Anonymous

    Great tutorial! I have one question. If i am the owner of a private  repository and have given read access to other members of my team so that they can fork my repository make changes and then send me pull request to merge their changes in the main repository. But before merging their changes directly into the main repository I want to merge their changes in my local copy of the main repository run the application locally and if everything is fine then only merge their changes in the main repository. How can I do that?

  11. Anonymous

    Great tutorial! I have one question. I have created a private repository say MAIN and have given read access to my team member so that they can fork the repository and send me pull request if they want to merge their changes in MAIN . But before merging their changes directly into the MAIN repo I want to push their changes into my local copy of the MAIN repository, make ssure their changes didn't break the existing code and then merge in the MAIN repo. How can I do that?