Documentation
Connect a repository once. After that, every push to the branch you choose republishes the site - no dashboard visit, and no build step running on our side.
Connecting a Git repository links one repository to one site. From then on, a normal git push to the branch you picked is the entire deploy process - nothing else to run, click, or remember. This page is the step-by-step how-to for connecting and publishing; for an overview of Git deploy and who it suits, see the Git deploy page.
Authorize access once, from your account, and pick the repository. You do that once - from then on, pushing to your chosen branch is the deploy. There's no separate "deploy" button to click afterward; the push does it.
Each push publishes in order, so several commits landing close together don't publish out of sequence.
Two settings control what actually gets published:
| Setting | What it controls | Typical value |
|---|---|---|
| Branch | Which branch triggers a deploy when you push to it | main |
| Output folder | Which folder in the repo gets published - the whole repo, or a subfolder | repo root, or /public, /dist |
If your project builds into a subfolder - a static site generator that outputs to /public, a bundler that outputs to /dist - point the output folder there rather than at the repo root. Only the files inside that folder get published; everything else in the repository, including source files, configuration, and a README, stays out of the live site.
We don't run a build on our side. Whatever's sitting in the folder you pointed at is exactly what gets served - no build command to configure, no dependency that fails to install on our end, no framework version drifting out of sync with your local machine.
In practice, that means:
index.html at the wrong level. If your homepage loads blank or returns a 404, check that index.html sits directly inside the folder you pointed at - not nested one level down inside a subfolder that folder happens to contain.
Case-sensitive paths. A link to /About.html won't find about.html. It can work on a local machine and break here, because the underlying storage treats the two as different files. Match case exactly, in every link and file name.
The step-by-step version - what we can see in your repository, and why a push sometimes doesn't publish - is in the help center: publish from GitHub.
Keep reading
A real website for 99¢ a month. Start from a template or bring your own.