آشنایی با ابزارهای کنترل نسخه و معرفی گیت
گسترش کار گروهی در پیادهسازی پروژههای نرمافزاری و وسعت زیاد پروژهها، مشکلاتی به وجود آورده است که برای مدیریت هرچه بهتر مسائل به وجود آمده ابزارهای کنترل نسخه به کمک توسعهدهندگان آمدهاند. تسلط به این ابزارها یکی از مهارتهای اساسی برای کار حرفهای در حوزه نرمافزار است.
کنترل نسخه به معنای دنبال نمودن تغییرات اعمال شده در فایل های پروژه است. وظیفه یک برنامه کنترل نسخه ثبت تغییرات صورت گرفته بر روی فایل های پروژه مثل ویرایش کردن، افزودن و یا پاک نمودن آن هاست؛ به گونه ای که هرگاه بخواهیم بتوانیم به نسخه های مختلف پروژه دسترسی پیدا کنیم.
برای مثال، تصور کنید که یک گرافیست یا طراح وب هستید و می خواهید همانطور که به مرور زمان روی پروژه خود کار می کنید، در هر مرحله از پیشرفت پروژه یک نسخه از آن را تهیه و در جایی نگهداری کنید تا بعدا در صورت نیاز به آنها دسترسی داشته باشید. برنامه های کنترل نسخه دقیقا آن چیزی هستند که شما به آن نیاز دارید!
یک برنامه کنترل نسخه یا VCS (Version Control System) به شما این امکان را می دهد که فایلهای پروژه را به ویرایشهای قبلی آنها بازگردانید، تغییرات اعمال شده هر فایل را بعد از پیشرفت پروژه مشاهده کرده و آن را با وضعیت قبلی اش مقایسه کنید، در صورتی که گروهی روی یک پروژه کار می کنید، ببینید چه کسی در هر مرحله پروژه را ویرایش کرده و اگر در جایی اشتباهی صورت گرفته، پروژه را به حالت قبل از ویرایش بازگردانده و آن را بازیابی کنید، و…
اینجا همان جایی بود که سیستم های کنترل نسخه توزیع شده یا Distributed Version Control Systems وارد ماجرا شدند Git، Mercurial، Bazaar و Darcs از جمله این سیستم ها به شمار می روند.
در ابزارهای کنترل ورژن توزیع شده:
کاربران متفاوت روی repositoryهای خود کار میکنند به جای اینکه روی یک repository مرکزی کار کنند.
- تغییرات به عنوان مجموعهای از تغییرات یا patch ذخیره میشوند.
- متفاوت از CVS و SVN است که نسخهها را دنبال میکنند.
- مجموعه تغییرات بین انبارههای مختلف میتواند تبادل شود.
- یک انباره اصلی منفرد وجود ندارد بلکه تعدادی کپی مختلف است.
- هرکدام با ترکیبی از مجموعه تغییرات مربوط به خودشان
- نیازی به ارتباط با یک سرور مرکزی وجود ندارد
- سریعتر
- هیچ دسترسی به شبکه نیاز نیست
- یک نقطه بحرانی برای خرابی و شکست وجود ندارد
- تشویق به مشارکت و fork کردن پروژهها
- توسعهدهندگان میتوانند به صورت مستقل کار کنند
- مجموعه تغییرات برای ریجکت کردن یا شامل شدن را ثبت میکنند
چه کسانی باید از گیت استفاده کنند؟
- هرکسی که میخواهد ویرایشها را دنبال کند
- مرور تاریخچه تغییرات
- مشاهده تفاوت بین نسخهها
- بازیابی نسخههای قدیمی
- هرکسی که خواهان به اشتراک گذاری تغییرات با همتیمیهای خود است
- هرکسی که از ابزارهای خط فرمان نمیترسد!
حال که دانستید ابزارهای کنترل نسخه همان چیزی است که شما به آن نیاز دارید، لازم است بدانید از بین ابزارهای موجود گیت، رایجترین و محبوبترین ابزار کنترل نسخه است. این ابزار را به صورت رایگان میتوانید از این صفحه دانلود کنید. برای آشنایی با مفاهیم پایه و تعاریف و دستورات اولیه گیت و استفاده از آن روی گیتهاب، فیلم آموزشی و اسلایدهایی برای دانشگاه صنعتی شریف آماده شده است که میتوانید از لینکهای زیر دریافت کنید.
دریافت از تخته سفید، دریافت از یوتیوب، دریافت از طریق تورنت و دریافت اسلایدها
ویدیوهای آموزشی لیندا نیز به زبان انگلیسی، گام به گام آموزشهای لازم را برای سیستم عاملهای مختلف در این زمینه پوشش میدهد، میتوانید آنها را نیز از اینجا دریافت کنید.
منابع:
https://www.atlassian.com/git/tutorials/what-is-version-control/benefits-of-version-control
با سلام ودرود.
ممنون از توضیحات جامع و کاملتون.بسیار مفید و ارزنده بود.موفق وموید باشید.