[Common Issue] How can I disable automatic git deploys?

Sometimes your projects may really benefit from automatic deploys, sometimes they won’t. For such sites, you can create them entirely as manual deploys or using Netlify’s CLI. If you want to turn off automatic deploys from git for a site that was linked with a repository, there are three easy options. You can choose the option that works best with your workflow.

  1. We have a feature called Locked Deploys that you can use to 'pin' a deploy on your production URL.

    To turn on the lock feature from your Deploys page, click the Stop auto publishing button .

That’s it! Netlify will no longer autopublish any deploys at your production URL.

However, deploys will still be built and will be available for you to preview and manually publish
whenever you want. You can still see all of your deploys as usual on your Deploys page in our UI.

When you are ready to resume automatic deploys, just click the Start auto publishing button.

  1. If you no longer want to trigger deploys via git, you can remove the webhook created by Netlify from your repository’s webhook settings at your git provider. This is the way all GitLab and BitBucket repos are configured, and some legacy GitHub sites as well. And as long as you don’t remove our deploy key, you can then trigger a deploy some other way - for instance, by pushing the “Trigger deploy” button on the Deploys page in our UI, or via our API. Note that folks using the GitHub app won’t have this option!

    No deploy previews for pull requests are created when you deploy this way, FYI.

  2. Use GitHub checks to stop automatic deploys under certain conditions using the protected branches feature. This last option is what we use internally at Netlify. We set it up this way so we have a successful build, all of our tests finish, and we have a deploy preview to look at before merging. So if a check fails, you’ll see a red x and your site will not merge & deploy:

If you’ve never used GitHub checks before, GitHub has easy, step-by-step instructions on how to set them up.

Note: If you want to keep your Netlify site but permanently remove the link from your site to your git repo, please share your site’s API ID in this thread and ask us to remove the assocation. There isn’t a way to do this in the UI currently, but we are happy to do it for you.

2 Likes

Hey, it looks like option 2 is no longer possible for GitHub since Netlify moved to using a GitHub App instead of webhooks. Removing the the GitHub App would apply to all of a user’s GitHub repos integrated with Netlify.

Is there any update on removing the link to a repo from a site?

I didn’t see the option I needed, so I decided to post my solution here in case somebody has a similar use-case.

I’m using a monorepo which currently contains two Netlify sites that need to be built & deployed if there is any change in the respective package. I want to let my CI decide which Netlify site to deploy, so I don’t want to enable automatic deploys from master. However I do want to keep the deploy previews from Pull Requests to master.

Option 1 in the original post doesn’t really work for me because it might build a site when it is not necessary and won’t publish my site if I trigger a build in CI. Option 2 does work completely either because the webhook is also responsible for reading pull requests.
However, you can customise the permissions of the webhook, and remove the " Pushes: Git push to a repository." permission to disable automatic master deploys, but keep pull requests builds and previews.

I’m not sure if this is the correct/best way to handle my case, so please let me know if you have any suggestions.

thanks for sharing your solution, @Und3Rdo9!