Is there a way to make a git branch the "default"

Github has an admin setting to make a specific branch the "default" branch. We don't want people to ever check code into master, only "dev". So I'd like to make "dev" the default branch.

Does Stash have a way to do this?


3 answers

1 accepted

Yes, in the settings for a repository you can specifiy the default branch for browsing. That doesn't prevent people from commiting to master though.

For this Stash also has allows you to limit write access to certain branches by setting up branch permissions:

Hope this helps!



We can set the default branch by navigating to "Settings" > Repository Details > Default branch drop down.
However, i have a follow up question to this: Can this be achieved with a command line utility (may be: Bitbucket Command Line Interface).

Hi Arnab, have you ever figured out hos to do this via command line or Groovy Scripting?  I'm looking to get that value via groovy and or command line.

You can get the repo's default branch via the REST api (/rest/api/1.0/projects/[PROJECT]/repos/[REPO]/branches/default).



"id": "refs/heads/master",
"displayId": "master",
"type": "BRANCH",
"latestCommit": "8f5e46644b91c06449b6bafb945fe658fb77c0fa",
"latestChangeset": "8f5e46644b91c06449b6bafb945fe658fb77c0fa",
"isDefault": true


Thanks that seems to work great.  If you are interested, vis ScriptRunner or a Groovy Script, I am able to get the branch information this way too.


import com.atlassian.sal.api.component.ComponentLocator;
import com.atlassian.bitbucket.repository.RepositoryService;
import com.atlassian.bitbucket.repository.Repository;
import com.atlassian.bitbucket.repository.RefService
def repositoryService = ComponentLocator.getComponent(RepositoryService.class);
def refService = ComponentLocator.getComponent(RefService.class);

Repository rep = repositoryService.getBySlug("UP","myrepo");
int id = rep.getId();
// This returns a Branch Object refService.getDefaultBranch(rep).getDisplayId();
return refService.getDefaultBranch(rep).getDisplayId();

Im sorry could you be more specific. I click on a repository, go to settings, browse through all the tabs yet cant find a checkbox or option to make a branch the default branch for the stash project.

Hi Werner,

It should be on the first/main repository settings page/tab. You can see the branch selector here in this screenshot down the bottom right:



Inside setting you will get repository details where there is a tab called default branch.

Suggest an answer

Log in or Join to answer
Community showcase
Piotr Plewa
Published Dec 27, 2017 in Bitbucket

Recipe: Deploying AWS Lambda functions with Bitbucket Pipelines

Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda&nbsp...

642 views 0 4
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot