First, make sure you have Quartz cloned and setup locally.

Then, create a new repository on Do not initialize the new repository with README, license, or gitignore files.

At the top of your repository on’s Quick Setup page, click the clipboard to copy the remote repository URL.

In your terminal of choice, navigate to the root of your Quartz folder. Then, run the following commands, replacing REMOTE-URL with the URL you just copied from the previous step.

# list all the repositories that are tracked
git remote -v
# if the origin doesn't match your own repository, set your repository as the origin
git remote set-url origin REMOTE-URL
# if you don't have upstream as a remote, add it so updates work
git remote add upstream

Then, you can sync the content to upload it to your repository. This is a helper command that will do the initial push of your content to your repository.

npx quartz sync --no-pull

In future updates, you can simply run npx quartz sync every time you want to push updates to your repository.

Flags and options

For full help options, you can run npx quartz sync --help.

Most of these have sensible defaults but you can override them if you have a custom setup:

  • -d or --directory: the content folder. This is normally just content
  • -v or --verbose: print out extra logging information
  • --commit or --no-commit: whether to make a git commit for your changes
  • --push or --no-push: whether to push updates to your GitHub fork of Quartz
  • --pull or --no-pull: whether to try and pull in any updates from your GitHub fork (i.e. from other devices) before pushing