Git Virtual File System یا به اختصار GFVS یک ابزار اپنسورس است که پیادهسازی Git را در مقیاس اینترپرایز ممکن میسازد به طوری که با کمک این سیستم، مدیریت و استفاده از ریپازیتوریهای حجیم سیستم ورژن کنترل گیت سادهتر خواهد شد.
GFVS چگونه کار میکند؟
GFVS عملکردش اینگونه است که طوری فایلسیستم ریپازیتوریهای گیت را به صورت مجازی در میآورد که از دید ابزارهای گیت، عادی و به شکل یک ریپازیتوری معمولی به نظر برسد؛ اما در واقع چنین فایلی روی دیسک وجود خارجی ندارد! و تنها زمانی که واقعاً به وجود یک فایل نیاز باشد، آن فایل دانلود خواهد شد.
از آنجا که GFVS وضعیت داخلی گیت را نیز مدیریت میکند، به جای در نظر گرفتن کلیهٔ فایلهای یک ریپازیتوری، تنها همانهایی که در دسترس قرار گرفتهاند را در نظر میگیرد به طوری که این موضوع باعث میشود عملیات Checkout و بررسی Status یک فایل با حداکثر سرعت ممکن انجام شود.
چرا باید از GFVS استفاده کنیم؟
امکانات گیت در مدیریت ریپازیتوریهایی در مقیاس اینترپرایز (بزرگ) کمی ضعیف است. زمانی که صحبت از یک ریپازیتوری حجیم با میلیونها فایل در میان باشد، عملیات به اصطلاح Clone میتواند بسیار زمانبر شود (حتی عملیات سادهتری مثل چک کردن وضعیت ریپازیتوری نیز ممکن است لحظاتی وقت شما را بگیرد.)
GFVS توسط تیمی از دولوپرهای شرکت مایکروسافت تحت عنوان Visual Studio Team Services ایجاد شده است که هدف اصلی آنها مدیریت سورسکدهای حجیم این شرکت بوده است به گونهای که با کمک این ابزار، اثربخشی و راندمان دولوپرهایی که در کمپانی مایکروسافت از Git و Visual Studio Team Services استفاده میکنند، حفظ شده است (حتی در مدیریت ریپازیتوریهای حجیمی مثل سورسکد سیستمعامل ویندوز با حدود 300 گیگابایت حجم و 3.5 میلیون فایل، GFVS عملکرد رضایتبخشی از خود نشان داده است.)
GFVS در کنار اپنسورس بودن رایگان نیز هست و اگر شما هم با ریپازیتوریهای حجیم در سطح اینترپرایز سر و کار دارید، GFVS میتواند یک انتخاب مناسب برای مدیریت سورسکد شما باشد.