Understanding the Essentials of Version Control: A Guide for Developers and Teams