# Environments Variables per Git branch

**Published:** April 21, 2021 | **Authors:** Steven Salat, Ernest Delgado, Leo Lamprecht, Christopher Skillicorn

---

You can now add Environment Variables to a specific **Git branch** in the Preview Environment.

When you push to a branch, a combination of Preview Environment Variables and branch-specific variables will be used. Branch-specific variables will override other variables with the same name. This means you don't need to replicate all your existing Preview Environment Variables for each branch – you only need to add the values you wish to override.

Also, you no longer need to specify the type of Environment Variable (*Plaintext*, *Secret*, *Provided by System*) because** all values are now encrypted**. The new design is optimized for both security and convenience, ensuring you can easily view the value later by editing in the UI or running `vercel env pull` to fetch Development Environment Variables locally.

We previously introduced the *Provided by System* option as some frameworks need to map system variables like `VERCEL_URL` to framework prefixed variables like `NEXT_PUBLIC_VERCEL_URL`. You no longer need to configure this mapping because the **prefixed variables are added automatically** based on your Framework Preset.

Check out [the documentation](https://vercel.com/docs/environment-variables) as well.

---

📚 **More updates:** [View all changelog entries](/changelog/sitemap.md) | [Blog](/blog/sitemap.md)