تصویر محمدعلی اکبری
از کدام وب‌سایت برای Version control استفاده کنم؟

لزوم استفاده از سیستم مدیریت نسخه

سیتسم‌های مدیریت نسخه (Version control systems) به منظور مدیریت تغییرات در فایل‌های پروژه مورد استفاده قرار می‌گیرند. این موضوع در پروژه‌های تیمی و همچنین انفرادی اهمیت زیادی دارد.
امکاناتی که این سیستم‌ها در اختیار قرار می‌دهند شامل این موارد است:
- دسترسی به تاریخچه تغییرات انجام شده (Source code browsing)
- امکان بازگشت به یک نسخه قدیمی از نرم‌افزار
- مدیریت دسترسی برنامه‌نویسان به کدها و اعمال تغییرات
- گزارش‌گیری از نحوه عملکرد اعضای تیم و ...
در واقع دعوت برنامه‌نویسان دیگر برای کار روی پروژه مشترک بدون داشتن سیستم مدیریت نسخه یک توهین بزرگ به آنها است.
ویژگی اصلی سیستم‌های مدیریت نسخه
- CVS و SVN کمی قدیمی تر از موارد دیگر هستند و به طور گسترده مورد استفاده پروژه‌های متن باز قرار گرفته‌اند.
- Git بر خلاف SVN سیستم پیچیده‌تری دارد و امکان نگهداری شاخه‌های (Branch) به صورت توزیع شده (Distributed Revision Control Systemرا دارد. لذا می‌توانید قسمت‌های مختلف برنامه را در جاهای مختلفی نگه داری کنید. این سیستم توسط  لینوس توروالدز خالق لینوکس توسعه داده شده است.
- Mercurial به دلیل سادگی بسیار زیاد در کنار سرعت بالای آن، مورد استقبال برنامه‌نویسان زیادی قرار گرفته است. Mercurial همانند Git از انواع توزیع شده می‌باشد.
 
وب‌سایت‌های مدیریت نسخه
برای داشتن سیستم مدیریت نسخه می‌توانید یک انباره (Repository) در رایانه شخصی یا در سرورهای شرکت خود داشته باشید. اما استفاده از انباره‌های آنلاین نیز می‌تواند گزینه خوبی باشد. امکانات جانبی، در دسترس بودن و امنیت این سرویس‌ها دلیل خوبی برای استفاده از آنها است.
 
1- Github
همانگونه که Git شماره اول سیستم‌های مدیریت نسخه است، Github نیز که Git را بر بستر Cloud ارائه می‌دهد برترین سرویس در این زمینه است. Github خود را شبکه اجتماعی برنامه نویسان معرفی می‌کند. در اینجا همه چیز اطراف برنامه‌ها و خطوط کد شکل گرفته است. برای داشتن 5 پروژه خصوصی در Github باید ماهیانه 7 دلار پرداخت کنید (اینجا).
 
هر دو نوع Git و Mercurial توسط این سایت پشتیبانی می‌شود. نسبت به Github امکانات مربوط به شبکه اجتماعی را ندارد، اما به شما اجازه می‌دهد پروژه‌های خصوصی تا تعداد افزار کمتر از 5 نفر داشته باشید (اینجا).
 
سیستم مدیریت نسخه ارائه شده توسط گوگل از هر سه نوع SVN، Git و Mercurial پشتیبانی می‌کند. این سرویس گوگل برای ایران به دلیل تحریم‌ها ارائه نمی‌شود.
 
انتخاب من برای پروژه‌های متن باز قطعا Github و برای پروژه‌های خصوصی تا زمانی که نخواهم هزینه‌ای پرداخت کنم Bitbucket خواهد بود.

دیدگاه‌ها

تصویر سعید

سعید (تایید نشده)

لینوس تراورس ?

تصویر محمدعلی اکبری

محمدعلی اکبری

لینوس توروالدز؛ ممنون از دقت شما :دی 

تصویر seyyed

seyyed (تایید نشده)

ممنون از اطلاعات مفیدتون
لطفا طریقه استفاده از mercurial و clone کردن رو هم توضیح بدید

افزودن نظر جدید