Likely causes, most common first
Cause 1 · in 1 of 5 matching casesThe Git connection or webhook is missing or broken
The platform needs an event from the Git provider for each push. On Netlify, a GitHub App installation creates outgoing webhooks as needed. On Vercel, the Git login connection under Account Settings > Authentication has to be configured, and linking a second Vercel account to the same Git account removes the link from the first. If the link is missing or permissions are insufficient, the push can fail to start a deployment with no visible error.
How to tell: The commit has no deployment in the dashboard, no Vercel Bot comment appears on it, and no skip setting explains why.
Builds or branch deploys are switched off
On Netlify, stopped builds prevent production deploys, Deploy Previews and branch deploys. Requests to build hook URLs do not build the site either. On Vercel, git.deploymentEnabled in vercel.json can turn off deployments for named branches or for all branches.
How to tell: Netlify shows Build status as Stopped builds, or vercel.json sets git.deploymentEnabled to false for your branch.
The platform skips or cancels the deployment for that commit
Vercel checks that the commit author has access to the project. It treats two addresses such as [email protected] and [email protected] as separate identities. An Ignored Build Step script that exits with 0 skips the build, which trips up people who expect 0 to mean success. If Require Verified Commits is enabled for a GitHub project, Vercel cancels the deployment for unverified commits.
How to tell: Other branches deploy but this one does not, the Vercel Bot comments with a request-access link, or the Ignored Build Step script exits with 0 for this commit.
Netlify builds the push but auto publishing is locked
A locked deploy pins the site to the latest published deploy. Netlify still builds new deploys but does not publish them to the main site. Production looks as if it ignored the push until you publish a finished deploy yourself.
How to tell: The Deploys list shows a finished build for your commit while the live site is unchanged.
Questions
Why does a push to main not deploy when other branches do?
Check the production branch name in Project Settings > Git on Vercel, any branch rule under git.deploymentEnabled in vercel.json, and the Ignored Build Step, which skips the build when the script returns 0.
Why do Netlify build hooks fail to start a build?
If builds are stopped for the site, Netlify does not build it when a build hook URL receives a request. Set Build status to Active builds, then trigger the hook again.
Can two Vercel accounts use the same Git account?
No. Setting up the link on a second account removes it from the first, so commits can stop creating deployments on the first account.
Does Netlify build immediately after I activate builds?
No. Netlify does not immediately build your site when you activate builds, so push a new commit to start a deploy.