Lecture: ( by Vikash Das, youtube ) →
https://youtu.be/PPrPuxqWc7E?si=BICC-JeTCeYdMROJ
Notes:

First, let’s understand → WHY?

An ML project runs as a pipeline of steps: Data Ingestion → Data Preprocessing → Feature Engineering → Feature Selection → Model Training → Model Evaluation.
Main.py that runs the whole flow.The pipeline is not static → things keep changing:
So the real question becomes: if a change makes things worse, how do you roll back to a previous version of the data? That's exactly what data versioning gives you. And it isn't only for tabular CSVs → you can version JSON, dictionaries, model outputs, etc., and even compare versions to make better choices.
Next →
Just like Git versions your code, DVC (Data Version Control) versions your data.