DevOps Engineer / personal Site : sadeghkhademi.com
چرا باید از سیستم کنترل نسخه (Version Control System) استفاده کنیم؟
استفاده از سیستم کنترل نسخه برای پروژه های شما مزایای بسیاری دارد. در این مقاله به تفصیل برخی از آنها را توضیح میدهیم.
کنترل نسخه چیست؟
کنترل نسخه (version control) که به عنوان کنترل تجدید نظر (revision control)، کنترل منبع (source control) یا سیستم های مدیریت کد منبع (source code management) نیز معرفی میگردند سیستم هایی هستند که وظیفه مدیریت تغییرات در اسناد، برنامه های رایانه ای وب سایت های بزرگ و سایر مجموعه اطلاعات را دارند. تغییرات معمولاً توسط یک شماره یا کدنامه مشخص می شوند، "شماره تجدید نظر" ، "سطح تجدید نظر" یا به سادگی "تجدید نظر" نامیده می شوند.
همکاری:
بدون وجود VCS ، احتمالاً شما در یک پوشه مشترک (Shared Folder) با هم کار می کنید. توی شرکت فریاد میزنید که مشغول کار بر روی پرونده "xyz" هستید و هم تیمی های شما باید دست نگه دارند تا کار شما تمام شود. این سناریو بسیار مستعد خطا است.
با داشتن یک VCS ، همه افراد حاضر در این تیم قادر به کار کاملا آزادانه ( در هر پرونده در هر زمان) هستند. VCS این امکان را می دهد که همه تغییرات در یک نسخه مشترک ادغام شود. آخرین نسخه یک پرونده یا کل پروژه در یک مکان مشترک و اصلی بهنام "سیستم کنترل نسخه" است.
ذخیره نسخه ها (به درستی):
ذخیره نسخه ای از پروژه پس از ایجاد تغییرات یک عادت اساسی است. اما بدون VCS خیلی سریع خسته کننده و گیج کننده می شود:
- فقط پرونده های تغییر یافته را ذخیره میکنید یا پروژه کامل را؟ در حالت اول ، شما سخت می توانید پروژه کامل را در یک لحظه مشاهده کنید، در حالت دوم ، داده های غیر ضروری زیادی را روی هارد دیسک خود خواهید داشت.
- چگونه این نسخه ها را نام گذاری میکنید؟ اگر یک فرد بسیار سازمان یافته هستید ، ممکن است بتوانید به یک طرح نامگذاری واقعاً قابل فهم برسید ( از "me-inc-redesign-2013-11-12-v23" خوشحال هستید). با این حال ، به محض اینکه نسخه های مختلفی ارائه شود، احتمال پیروی از این طرح نامگذاری به شدت کم خواهد شد.
- اما مهمترین سؤال احتمالاً این یکی است: چگونه می دانید در این نسخه ها دقیقاً چه تفاوتی وجود دارد؟ تعداد معدودی از افراد در واقع وقت لازم را برای بررسی دقیق هر تغییر مهم را دارند و این مورد را در یک پرونده README در پوشهی پروژه درج می کنند.
یک سیستم کنترل نسخه مطمئن می شود که تنها یک پروژه وجود دارد. بنابراین ، فقط یک نسخه در دیسک شما وجود دارد که در حال حاضر روی آن کار می کنید. همه موارد دیگر - همه نسخه های قبلی و انواع مختلف - به طور مرتب داخل VCS نگهداری می شوند. هنگامی که به آن احتیاج دارید، می توانید هر نسخه را در هر زمان درخواست کنید و یک کپی از پروژه کامل را در دسترس داشته باشید.
بازیابی نسخه های قبلی
توانایی بازیابی نسخه های قدیمی تر یک فایل (یا حتی کل پروژه) به طور مؤثر به معنای یک چیز است: شما می توانید اشتباه کنید!
اگر تغییراتی که اخیراً ایجاد کرده اید ، به درد نمیخورد، می توانید با چند کلیک آنها را بی اثر کنید. دانستن این امر هنگام کار روی قسمتهای مهم یک پروژه، آرامش بیشتری به شما میدهد.
درک آنچه اتفاق افتاده است
هر بار که نسخه جدیدی از پروژه خود را ذخیره می کنید ، VCS از شما می خواهد که توضیحی کوتاه درباره آنچه تغییر یافته ارائه دهید. علاوه بر این (اگر این یک فایل کد/متن است) ، می توانید ببینید که دقیقاً چه چیزی در محتوای پرونده تغییر یافته است. این به شما کمک می کند تا درک کنید چگونه پروژه شما بین نسخه ها تکمیل شده است.
پشتیبان گیری
یک اثر جانبی استفاده از یک VCS توزیع شده مانند Git این است که می تواند به عنوان پشتیبان عمل کند. هر عضو تیم یک نسخه کامل از پروژه در دیسک خود دارد - از جمله تاریخچه کامل پروژه. اگر سرور مرکزی شما خراب شود (و درایوهای پشتیبان شما خراب شوند) ، تمام آنچه برای بازیابی لازم دارید یکی از مخازن محلی Git شما است.
اگر این مطلب را دوست داشتید آن را ❤️ کنید و به دوستان خود معرفی کنید. باعث خوشحالی خواهد بود که نظر و تجربه خود را در قسمت نظرات به اشتراک بگذارید.
مطلبی دیگر از این انتشارات
نصب نرم افزار مانیتورینگ Cacti در Ubuntu 16.04
مطلبی دیگر از این انتشارات
نحوه نصب Zabbix در CentOS 8
مطلبی دیگر از این انتشارات
تجربه کار با Galaxy S8