Production Deployments: Choosing Your Branch

Vercel has updated how new Projects determine which Git branch receives Production Deployments. Previously, this was tied to the repository's default branch. Now, new Projects will use main as the production branch by default, with a new Project Settings option to override this behavior.

Default Behavior for New Projects

For any Project created after this change, pushes to main will trigger a Production Deployment. If your repository doesn't have a main branch, Vercel will fall back to master. If neither exists, the system will use the repository's default branch as before. Existing Projects keep their current configuration and are not affected by this change.

Configuration Options

The new "Production Branch" section, located under "Git Integration" in your Project Settings, lets you specify which branch should be deployed to Production. You can choose from:

  • The main branch.
  • The Git repository's default branch.
  • A custom branch of your choosing.
The default Production Branch configuration in the Project Settings.

Why master Isn't Listed

You might notice that master isn't available as a dropdown option. This is deliberate, in line with Git providers like GitHub moving away from terminology that evokes prejudice.

For compatibility, creating a new Project from a repository that still uses master will automatically fill in the "Custom" option with that branch name. If you later rename the branch to main, you can update the setting in just a couple of clicks.

Workflow Impact

This change gives you more control over your deployment pipeline. With the default settings, pushes to main create Production Deployments, while pushes to other branches create Preview Deployments. If you prefer a different branch to be your production target, the new setting lets you make that switch without changing your repository structure.