Where Does DVC Store Data and Config?
DVC tracks data through .dvc files and dvc.yaml in the repo, with content cached locally or on remotes.
Last updated
DVC versions data alongside Git without storing bytes in it. The .dvc directory holds config and lock state while dvc.yaml declares pipeline stages. Actual content sits in the local cache or a configured remote.
The default local cache lives inside .dvc/cache unless moved to shared storage. Remotes range from S3 buckets to SSH folders per project. Push and pull move bytes while Git moves the pointers.
Where DVC stores this, by platform
[Repo]/.dvc
Config, lock, and default cache live here. Remotes defined in config point outward. Never hand edit files inside cache.
[Repo]/.dvc
Same in repo layout on Mac. Shared caches speed monorepos through symlinks. Keep dvc.yaml and lock files committed.
[Repo]\.dvc
Same tree on Windows. Long paths matter for hashed cache entries, so enable support. Remote credentials stay outside the repo.
Frequently asked questions
Where are my DVC data files?
In the cache under .dvc or the configured remote, referenced by hash. The workspace holds lightweight pointers. Pull fetches bytes for the checked out commit.
How do I share DVC data with a team?
Add a shared remote with dvc remote and push to it. Teammates pull after fetching Git refs. Credentials live per user, never in the repo.
Notice an outdated path? Let us know.