---
title: "Account Setup"
description: "Connect your Git repository to Vercel, deploy your first project, configure function regions for low latency, and set up preview and custom environments."
canonical_url: "https://vercel.com/academy/vercel-foundations/vercel-account-setup"
md_url: "https://vercel.com/academy/vercel-foundations/vercel-account-setup.md"
docset_id: "vercel-academy"
doc_version: "1.0"
last_updated: "2026-06-27T23:10:20.713Z"
content_type: "lesson"
course: "vercel-foundations"
course_title: "Vercel Foundations"
prerequisites:  []
---

<agent-instructions>
Vercel Academy — structured learning, not reference docs.
Lessons are sequenced.
Adapt commands to the human's actual environment (OS, package manager, shell, editor) — detect from project context or ask, don't assume.
The lesson shows one path; if the human's project diverges, adapt concepts to their setup.
Preserve the learning goal over literal steps.
Quizzes are pedagogical — engage, don't spoil.
Quiz answers are included for your reference.
</agent-instructions>

# Account Setup

# Account Setup

Your first deploy on Vercel takes about 30 seconds. Everything after that is about making it smarter: putting compute close to your data, isolating changes before they hit production, and building environments that match how your team actually ships.

## Connect and deploy

Click **Add New > Project** in the dashboard, choose your Git provider, and import a repository. Vercel detects the framework and fills in sensible build defaults. Click **Deploy**.

That's it. Your site is live.

## Set your function region

Static assets and cached responses are served globally from Vercel's CDN. But your serverless functions run in a specific region. By default, that might not be close to your database.

Head to **Settings > Functions** and pick the region closest to the services your app depends on. If your database is in Frankfurt, select Frankfurt. This cuts cross-region latency on every dynamic request.

After changing the region, redeploy for it to take effect.

## Production vs. preview

Every project gets two kinds of deployments out of the box:

- **Production** is the live site your users see. It updates automatically when you push to your main branch.
- **Preview** creates an isolated deployment for every branch and pull request. You get a unique URL to review changes before they reach production.

Preview URLs are protected by default. Anyone visiting a preview link needs to sign into Vercel first. You can switch to password protection if you need to share with people outside your team.

When the pull request looks good, merge it. Production updates automatically.

## Custom environments

If your team's release process has more stages, you can create custom environments beyond production and preview.

Go to **Settings > Environments > Create Environment**. Give it a name (like "staging"), enable branch tracking, and point it at a specific branch. Whenever changes land on that branch, the environment rebuilds automatically.

Each environment gets its own set of environment variables, so you can wire staging to a staging database without touching production config.

## Recap

- **Deploy** by importing a Git repo. Vercel handles the rest.
- **Function regions** should be close to your data, not your users. The CDN handles the user side.
- **Preview deployments** give every PR an isolated URL with built-in access protection.
- **Custom environments** let you add stages like staging or pre-production, each with their own branch tracking and variables.

## Follow up docs

- [Import an existing project](https://vercel.com/docs/getting-started-with-vercel/import)
- [Git integrations and automatic deployments](https://vercel.com/docs/git)
- [Environments](https://vercel.com/docs/deployments/environments)
- [Configuring regions for Vercel Functions](https://vercel.com/docs/functions/configuring-functions/region)
- [Deployment protection](https://vercel.com/docs/deployment-protection)


---

[Full course index](/academy/llms.txt) · [Sitemap](/academy/sitemap.md)
