Version Control و یا در برخی اسناد Configuration Management جهت نگهداری نسخه های مختلف فایل های قابل خواندن توسط انسان مثل فایل های با پسوند txt مورد استفاده قرار می گیرد. سپس فایل های Binary که نیاز به اشتراک گذاری و یا نگهداری نسخ مختلف دارند نیز به فایل های قابل پشتیبانی اضاقه شدند ولی تا به امروز طراحی و ساختار ورژن کنترل ها جهت مدیریت فایل های Human readable می باشد.

در ۲۰ سال گذشته استاندارد ها و ابزارهای مختلفی جهت Version Control ارائه شده که یکی از موفق ترین آنها ورژن کنترل Git است، ورژن کنترل ها به دو گروه متمرکز و توزیع شده تقسیم می گردند.

برخی از ورژن کنترل های موجود به شرح زیر هستند.

  • Git - نوع (Distributed)
  • TFVCیا Team foundation version control −نوع (Centralized)
  • SubVersion - نوع (Distributed)
  • Mercurial - نوع (Distributed)

در حال حاضر  Git به عنوان موفق ترین ورژن کنترل شناخته شده و پیاده سازی های متفاوتی از آن ارائه شده است، Git یک نرم افزار رایگان متن باز است و در نتیجه توسط شرکت های مختلفی توسعه داده شده است، نتیجه این توسعه ها ابزارهایی مثل Atlassian Bitbucket و Gitlab  و Microsoft AzureDevOps Repos و Github و AWS Codecommit و غیره بوده است.

استفاده از ابزارهای ورژن کنترل به ظاهر ساده بوده ولی روش استفاده از آنها دارای استانداردهای خاصی است که رعایت و یا عدم رعایت آنها می تواند بر سرنوشت تیم توسعه و محصول تاثیر مستقیمی داشته باشد. ( توسعه سیستم عامل لینوکس بدون ورژن کنترل گیت و استانداردهای پیاده سازی آن امکان پذیر نبود ) 

در بخش Version Control سعی خواهد شد به سوالات مرتبط با ورژن کنترل و نحوه صحیح استفاده از آنها پرداخته شود.