Why Git Needs DVC

Two histories, one project

Git records source code and small text files well, but repeatedly storing large datasets makes its history huge. Data Version Control (DVC) keeps a small .dvc pointer file in Git. It puts the large content in a cache on disk or in separate shared storage called a remote.

The pointer records the file path and a checksum, a digital fingerprint calculated from its contents. dvc checkout copies the exact data named by the current Git commit into the workspace; this is called materializing the data. dvc status reports when workspace content and the recorded checksum disagree.

Analogy: Git keeps the library catalog card; DVC manages the warehouse box identified by its tamper-evident fingerprint.