What Git Sync manages

Git Sync keeps dashboards and folders in a Git repository synced with your Grafana instance. Resources managed this way are called provisioned resources. You can still create other dashboards in Grafana outside that synced path.

By default Git Sync uses folder sync: Grafana creates a folder (named after the repository) and places synced dashboards inside it.

What you configure

When you set up Git Sync you create a repository resource: Grafana configuration that points at a Git repository, branch, path, and sync behavior.

To authenticate, this journey’s hands-on path uses a GitHub personal access token (a credential string that lets Grafana read and write the repository). Other methods exist, such as a GitHub App. GitLab, Bitbucket, and Pure Git are also supported; the next steps use GitHub so you can follow one clear path.

How updates move

Git Sync is bidirectional: you can change provisioned dashboards in the Grafana UI or in Git, and those changes can be reflected in both places according to your workflow settings (for example direct commit or pull request).

Without webhooks, Grafana polls Git on an interval (the default is 60 seconds). With webhooks enabled, updates can appear almost immediately.

The Foundation SDK still only generates JSON. Git Sync is what keeps Grafana aligned with the files in Git.