Repository چیست؟
مخزن، Repository یا به اختصار Repo یک فضای ذخیرهسازی کد است. مهمترین نکته دربارهی Repository که آن را نسبت به سایر راهکارهای ذخیرهسازی کد متمایز میکند، قابلیت کنترل نسخه یا Version Control آن است. در عمل، Repository کدها را نگهداری میکند و همزمان بخش کنترل ورژن آن، تمام نسخههای مشخصشده از آن کد را حفظ میکند. به این ترتیب، اگر یک نسخهی خاص کد دیگر مورد استفادهی شما نباشد، Repository آن را در خود نگهداری میکند تا در زمان نیاز از آن استفاده کنید.
امروزه پروژههای توسعهی نرمافزار بهشکل تیمی انجام میشود و هماهنگی بین اعضای تیم از نکات کلیدی در موفقیت پروژه محسوب میشود. استفاده از Repository برای تیم توسعهدهندگان بسیار مفید است چرا که دردسر به اشتراک گذاری فایلها و کدها را به حداقل میرساند و همواره تمام اعضای تیم میتوانند به تمام نسخههای نرمافزار دسترسی داشته باشند. همچنین با استفاده از Repository به آسانی مشخص میشود که چه کسی یک تغییر مشخص را در پروژه پیاده کرده است و در صورت وقوع هرگونه مشکل، این تغییرات قابل بازگردانی خواهند بود.
پروژههای بسیار بزرگی در سطح دنیا توسعه یافتهاند که بی شک بدون استفاده از یک مخزن برای هماهنگی بین توسعهدهندگان این امر قابل تحقق نبود. همچنین، به کمک امکانات Repository، جامعههای بزرگی از توسعهدهندگان محصولات متعددی را با همکاری هم تولید کردهاند که بهشکل متنباز در دسترس همگان قرار دارد.
Repository چگونه کار میکند؟
شیوهی کار با Repository به این شکل است که ابتدا تغییرات روی فایل های پروژه در سیستم توسعهدهنده یا دیگر افراد درگیر پروژه پیاده و سپس آن تغییرات روی یک سرور Commit میشود. به این ترتیب و با قرارگیری کد روی Repository، هم از ذخیره شدن فایلها و ایجاد بک آپ از آنها اطمینان حاصل خواهد شد و هم امکان استفادهی سایر تیم از آن نسخه از کد فراهم خواهد بود.
همچنین، Repository امکان نامگذاری و برچسب زدن روی نسخههای مختلف کد را فراهم میکند تا به این شکل، تغییرات ایجاد شده در کد قابل بررسی و دنبال کردن باشند. معمولن در Repository در کنار آرشیوی از کد، دفترچهی راهنمای استفاده از آن و صفحات وب مربوطه نیز نگهداری میشوند تا استفاده از کد آسانتر شود.
مزیتهای استفاده از Repository
استفاده از Repository در کنار بهبود دسترسی به کدها و ایجاد امکان مدیریت پروژههای نرمافزاری، مزیتهایی مانند امنیت را نیز به همراه میآورد. به کمک این ابزار میتوان از ایجاد کنندهی هر تغییر مطلع شد و همچنین از محرمانگی دادهها بهوسیلهی خصوصی کردن ریپازیتوری اطمینان حاصل کرد.
از دیگر مزایای استفاده از Repository میتوان به دسترسی پیوسته به مجموعهای کامل از نسخههای مختلف کدها و فایلهای مورد نیاز برای ارایهی محصول اشاره کرد. همچنین، آمار و اطلاعات توسعه و تغییرات کد به سادگی در دسترس خواهند بود.