گیت سیستم کنترل نسخه ی نرم افزارهای متن باز برای انجام کار تیمی روی یک پروژه و ذخیره سازی تغییرات هر کاربر روی پروژه ی اصلی بدون ایجاد تداخل در کار یک دیگر است. این روزها گیت هاب که از گیت استفاده می کند، تبدیل به محبوب ترین سرویس به اشتراک گذاری کد در میان برنامه نویسان شده تا جایی که جامعه ی کاربری آن که بیش از 10 میلیون توسعه دهنده را در برمی گیرد، حجم عظیمی از کدهای پروژه های خود را روی آن ذخیره کرده، در توسعه ی کدها مشارکت دارند، یا کارهای خود را بر اساس تلاش های سایر توسعه دهندگان پیش می برند. با وجود کارایی بسیار زیاد گیت هاب، چنین اجتماع بزرگی از متخصصان می توانند اندکی سردرگم کننده باشد، ممکن است کاربران به راحتی مسیر خود را گم کنند و تصادفاً تغییرات ناخواسته ای را روی پروژه های سایرین ایجاد کنند. به همین جهت اخیراً این سایت قابلیت جدیدی را به کاربرانش معرفی کرده تا از بروز چنین اتفاقاتی جلوگیری کند. در ادامه با سکان آکادمی همراه باشید.
هر کاربر تغییرات مورد نظر خود را از طریق Branch یا شاخه ی مخصوص خود روی پروژه اعمال می کند. قابلیت جدید Protected Branches یا شاخه های حفاظت شده، به صاحبان مخزن ها -یا Repository که محل ذخیره سازی فایل های نهایی پروژه ها هستند- این امکان را خواهد داد تا از سورس کدهای خود در مقابل مداخله کنندگانی که به اجبار تغییرات را روی بخش به خصوص و ارزشمندی از پروژه ی آن ها به اصطلاح Push Force کرده و آن ها را به مخزن پروژه منتقل می کنند حفاظت کنند. Ben Bleikamp طراح و مدیر محصول گیت هاب در یک پست وبلاگی رسمی نوشت:
وقتی این قابلیت برای مخزن پروژه ی شما فعال شود می توانید در تنظیمات مخزن به تب Branches بروید و از قسمت Protect branches برای حفاظت از شاخه های مورد نظر استفاده کنید.
زمانی که شما از یک شاخه حفاظت کنید دیگر امکان ندارد آن شاخه حذف شود یا روی آن چیزی نوشته شود. هم چنین این قابلیت از گزینه ی بررسی وضعیت برای شاخه ی اصلی یا master branch استفاده می کند و در صورتی که شاخه به روز رسانی نشود از هرگونه تلاش برای ادغام آن جلوگیری خواهد کرد.
اگرچه گیت هاب کامندهای undo را ارائه می دهد که از طریق برگرداندن به نسخه ی قبلی پروژه از خطاها جلوگیری می کنند، اما مراحل آن بسته به نتیجه ی کار متفاوت است. هم چنین این کامندها اقدامات واکنشی هستند، یعنی زمانی از آن ها استفاده می شود که تغییرات اعمال شده اند. در مجموع این قابلیت به مدیران پروژه ها این امکان را خواهد داد تا از بروز مسائل ناخواسته جلوگیری کنند.
قاعدتاً همه ی کاربران گیت هاب از وجود این قابلیت خوشحال نخواهند شد. برخی از مشارکت کنندگان به واسطه ی آن که در حوزه های خاصی محدود خواهند شد و از این بابت ممکن است با شکست مواجه شوند یا برای ادامه ی کار خود با موانعی برخورد کنند. اما در هر صورت این نوع کنترل برای نرم افزارهای با ارزش بالا -مثل کدهایی که در اپلیکیشن های تجاری استفاده می شوند- لازم است.
خوشبختانه با اضافه شدن این قابلیت جدید دیگر هیچ یک از کاربران گیت هاب شاهد از دست دادن کارهای مهم خود نخواهند بود و امنیت پروژه ها بیش از پیش تأمین خواهد شد.