Menu

Git Configuration

Last updated March 4, 2025

The following configuration options can be used through a vercel.json file via Static Configuration or a vercel.ts file via Programmatic Configuration.

Type: Object of key branch identifier String and value Boolean, or Boolean.

Default: true

Specify branches that should not trigger a deployment upon commits. By default, any unspecified branch is set to true.

vercel.json
{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "git": {
    "deploymentEnabled": {
      "dev": false
    }
  }
}
vercel.ts
import type { VercelConfig } from '@vercel/config/v1';
 
export const config: VercelConfig = {
  git: {
    deploymentEnabled: {
      dev: false,
    },
  },
};

Use minimatch syntax to define behavior for multiple branches.

The example below prevents automated deployments for any branch that starts with internal-.

vercel.json
{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "git": {
    "deploymentEnabled": {
      "internal-*": false
    }
  }
}
vercel.ts
import type { VercelConfig } from '@vercel/config/v1';
 
export const config: VercelConfig = {
  git: {
    deploymentEnabled: {
      'internal-*': false,
    },
  },
};

If a branch matches multiple rules and at least one rule is true, a deployment will occur.

vercel.json
{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "git": {
    "deploymentEnabled": {
      "experiment-*": false,
      "*-dev": true
    }
  }
}
vercel.ts
import type { VercelConfig } from '@vercel/config/v1';
 
export const config: VercelConfig = {
  git: {
    deploymentEnabled: {
      'experiment-*': false,
      '*-dev': true,
    },
  },
};

A branch named experiment-my-branch-dev will create a deployment.

To turn off automatic deployments for all branches, set the property value to false.

vercel.json
{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "git": {
    "deploymentEnabled": false
  }
}
vercel.ts
import type { VercelConfig } from '@vercel/config/v1';
 
export const config: VercelConfig = {
  git: {
    deploymentEnabled: false,
  },
};

Type: Boolean.

When set to false, Vercel for GitHub will create preview deployments upon merge.

Follow the deploying a staged production build workflow instead of this setting.

vercel.json
{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "github": {
    "autoAlias": false
  }
}
vercel.ts
import type { VercelConfig } from '@vercel/config/v1';
 
export const config: VercelConfig = {
  github: {
    autoAlias: false,
  },
};

Type: Boolean.

When set to false, Vercel for GitHub will always build pushes in sequence without cancelling a build for the most recent commit.

vercel.json
{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "github": {
    "autoJobCancelation": false
  }
}
vercel.ts
import type { VercelConfig } from '@vercel/config/v1';
 
export const config: VercelConfig = {
  github: {
    autoJobCancelation: false,
  },
};

The github.silent property has been deprecated in favor of the new settings in the dashboard, which allow for more fine-grained control over which comments appear on your connected Git repositories. These settings can be found in the Git section of your project's settings.

Type: Boolean.

When set to true, Vercel for GitHub will stop commenting on pull requests and commits.

vercel.json
{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "github": {
    "silent": true
  }
}
vercel.ts
import type { VercelConfig } from '@vercel/config/v1';
 
export const config: VercelConfig = {
  github: {
    silent: true,
  },
};

The github.enabled property has been deprecated in favor of git.deploymentEnabled, which allows you to disable auto-deployments for your project.

Type: Boolean.

When set to false, Vercel for GitHub will not deploy the given project regardless of the GitHub app being installed.

vercel.json
{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "github": {
    "enabled": false
  }
}
vercel.ts
import type { VercelConfig } from '@vercel/config/v1';
 
export const config: VercelConfig = {
  github: {
    enabled: false,
  },
};

Was this helpful?

supported.