آشنایی با سامانه کنترل نسخه گیت (Git) - پیشگفتار

با توجه به گسترش مستندسازی در تمامی حوزه های علمی و فناوری، نگهداری و حفظ تاریخچه تغییرات مستندات اهمیت فزاینده‌ای یافته است. رایج‌ترین سامانه کنترل نسخه در برنامه‌نویسی، گیت (Git) است.

کنترل نسخه گیت، رایج ترین کنترل نسخه در دنیای برنامه نویسان است.
کنترل نسخه گیت، رایج ترین کنترل نسخه در دنیای برنامه نویسان است.
کنترل نسخه گیت، رایج ترین کنترل نسخه در دنیای برنامه نویسان است.

آشنایی با سامانه کنترل نسخه گیت

با توجه به گسترش مستندسازی در تمامی حوزه های علمی و فناوری، نگهداری از مستندات و تغییرات آن‌ها برای بازبینی مسیرهای طی شده به وسیله‌ی روش علمی بسیار حائز اهمیت شده است. در عموم شاخه‌های مهندسی برای کنترل نسخ فنی از سامانه‌هایی بهره‌گیری می‌شود. در علوم رایانه، رایج‌ترین سامانه کنترل نسخه (VCS=Version Control System)، کنترل نسخه Git است.کنترل نسخه، تاریخچه کاستن، افزودن و تغییرات مستندات را نگهداری می‌کند.

در این سلسله مقالات به معرفی و آموزش مقدماتی Git و نحوه حفظ و نگهداری مستندات پروژه نرم‌افزاری می‌پردازیم.

چرا به کنترل نسخه نیاز است؟

نحوه کار کنترل نسخه به طور عمومی بر پایه ضبط و نگهداری تغییرات در مدارک و مستندات به صورت یک خط زمانی یکپارچه بنا نهاده شده است. در این فرآیند هیچ‌گاه نسخ به طور کلی رونوشت گرفته و روی هم انباشته نمی‌شوند، بلکه تنها تغییرات هر مدرک مستند شده و نگهداری می‌شود. به طور مثال، اگر فرض کنیم که یک فایل متنی تنها یک بند اصلاح شده دارد، از آن فایل یک نسخه دیگر تهیه نمی‌شود، بلکه تنها در یک فایل مجزا که توسط سامانه به عنوان مرجع مورد استفاده قرار می‌گیرد، اصلاحات آن بند دخیره می‌گردد.

Image for post
Image for post

کابوس یکپارچه‌سازی مستندات انباشته شده هیچ‌گاه به پایان نمی‌رسد. تنها راه استفاده از کنترل نسخه است!

مزیت این ساختار تنها محدود به نگهداری محتوا و زمان تغییر آن نیست. برای آن که بهتر درک کنید، فرض کنید در یک تیم با تعداد قابل توجه و وظایف مختلف، تمامی این افراد در حال استفاده از یک دسته مدارک به صورت همزمان هستند. در این تیم اگر تمامی افراد بدون آن که شرایط دیگر هم‌تیمی‌ها را در نظر گیرند، اقدام به تغییر مدارک مرجع کنند، همه فرآیند کاری آن‌ها براساس فرضیات ذهنی خودشان است. چون همزمان تغییرات در جریان است، همه نتایج به دست آمده از فعالیت‌های اعضای تیم فاقد اعتبار یا در بهترین حالت مشکوک به خطاست.

Image for post
Image for post

حال فرض کنید این افراد برای جلوگیری از این اتفاق هر کدام اقدام به نگهداری و رونوشت گرفتن از مستندات روند کاری خود باشند. در زمانی که فرد دیگری بدون لحاظ کردن نتایج ناشی از تغییرات اعمالی هم‌تیمی خود بر روی مستندات مرجع، اقدام به اتمام فرآیند کاری خود کند، نتایج حاصل شده به احتمال بسیار زیاد ناهمخوان خواهند بود.

در نهایت، خواهید دید که اگر این تیم تصمیم بگیرد، برای پشت سر گذاشتن تمامی مشکلات به وجود آمده، مستندات خود را با یکدیگر به اشتراک گذاشته و همه مدارک را یکپارچه کنند، با کابوس وحشتناکی روبرو هستند. تمامی این موارد با گذر زمان بدتر و بدتر می‌شود، بنابراین بهتر است از ارمغانی که کنترل نسخه برای ما به وجود می‌آورد بهره برد. در سلسه مقالات پیش رو سعی خواهد شد تا آن‌جا که امکان باشد، به مرور در این موضوع ژرف شده و از همه ویژگی‌های کنترل نسخه گیت (Git) بهره ببریم.

فهرست دسترسی به رشته مقالات 

در ادامه فهرستی از رشته مقالات «آشنایی با سامانه کنترل نسخه گیت (Git)» برای دسترسی آسان‌تر آورده شده است. با توجه به آن که این فهرست به مرور تکمیل می‌شود؛ با ذخیره کردن این مقاله، سرعت یافتن موضوع موردنظرتان را بالاتر ببرید: