Overview
DVC extends Git discipline to data: ‘dvc add data/raw’ stores a small pointer file in Git while the actual data goes to remote storage you control (S3, Drive, SSH, a NAS). Checkout any commit and ‘dvc pull’ restores exactly the data that produced those results.
Why researchers use it
- Exact data provenance — every Git commit maps to exact dataset versions
- Storage-agnostic — your bytes stay on university storage or any cloud you choose
- Pipelines + metrics — dvc repro reruns stages when data or code change
Getting started
- In a Git repo: dvc init, then dvc add data/raw/ and commit the generated .dvc file.
- Configure a remote (dvc remote add -d store s3://… or an SSH path) and dvc push.
- Collaborators git pull + dvc pull and hold the identical dataset.
The honest review
Strengths. Answers the question reviewers actually ask — ‘which data produced Figure 3?’ — with a checkout command; integrates cleanly with existing Git habits.
Limitations. Another layer of mental overhead on top of Git; teams must all adopt it or pointers rot; the pipeline features overlap confusingly with Snakemake if you use both.