بعد استحواذ شركة مايكروسوفت على موقع Github، بدأ العديد من المطورين في البحث عن بدائل لاستضافة أكوادهم. وتعتاد شركة مايكروسوفت (والعديد من الشركات العملاقة الأخرى) على شراء التكنولوجيا ومواقع الويب والمنتجات التي أثبتت جدواها لتوسيع نطاقها. ويعد موقع Skype أحد الأمثلة، والآن أصبح موقع Github كذلك.
لحسن الحظ، هناك العديد من أنظمة التحكم في الإصدارات الأخرى التي يمكنك الاختيار من بينها. لا تتمتع جميعها بجميع وظائف Github، ولكن اعتمادًا على ما تحتاج إليه، فإن الخيارات جيدة جدًا. ستستعرض هذه المقالة بعضًا من أفضل البدائل ذاتية الاستضافة لـ Github والتي يمكنك تثبيتها على جهازك اليوم.
1. جيت لاب
حتى قبل أن تستحوذ مايكروسوفت على Github، جيت لاب كانت بالفعل منصة بديلة شائعة لإدارة التعليمات البرمجية. إنها أداة مفتوحة المصدر لدورة حياة DevOps مع وظائف التخطيط والاختبار والتعبئة والإصدار. كما تأتي مع ميزات wiki وتتبع المشكلات، مما يجعلها جذابة بشكل لا يصدق للمستخدمين الذين يريدون الحصول على تجربة ذاتية الاستضافة “مثل Github”.
على الرغم من أنه يمكنك استخدام GitLab كمنصة لإدارة التعليمات البرمجية ذاتية الاستضافة، إلا أن مطوريها يقدمون أيضًا إصدارًا مدفوعًا متميزًا من SaaS. يأتي هذا مع ميزات إضافية مثل القدرة على المزامنة مع خادم LDAP وخطوط أنابيب CI/CD المتقدمة.
مع ذلك، يمكنك نشر GitLab على جهازك وكذلك على منصتهم المستضافة مجانًا. من ناحية أخرى، يبدأ الإصدار المتميز حاليًا من 29 دولارًا لكل مستخدم شهريًا.
نصيحة: تعرف على ما يجعل GitLab مختلفًا عن Github وحدد ما هو الأفضل بالنسبة لك.
2. يأجوج
يأجوج Git عبارة عن منصة استضافة Git خفيفة الوزن يمكنك نشرها على أي جهاز تقريبًا. تم كتابة البرنامج بلغة Go، وقد صممه مطوروه ليكون سريعًا قدر الإمكان مع الاعتماد على القليل من التبعيات الخارجية أو عدم الاعتماد عليها على الإطلاق. على سبيل المثال، من الممكن تشغيل Gogs على نظام به 512 ميجابايت فقط من ذاكرة الوصول العشوائي (RAM).
من أهم نقاط البيع التي يتمتع بها Gogs أنه من السهل للغاية تشغيله حتى على الخوادم الافتراضية. بشكل افتراضي، يأتي Gogs أيضًا مع جميع الأدوات التي تحتاجها لإدارة الكود الخاص بك وتتبع المشكلات وتوثيق التغييرات. وبالتالي، يعد Gogs خيارًا رائعًا إذا كنت تبحث عن بديل “بدون ضجة” لـ Github مع أفضل نسبة “قوة إلى وزن”.
جيد ان تعلم: تعلم أساسيات إدارة مستودع Git.
3. تراك
تراك Trac هي منصة إدارة أكواد بسيطة ومرنة للغاية لنظام Linux. على عكس GitLab وGogs، يمكن لـ Trac العمل مع Subversion وGit لنظام التحكم في الإصدارات الخلفي. وهذا يجعلها مفيدة إذا كان لديك بالفعل مشروع يعمل على أي من هذين النظامين.
بالإضافة إلى كونه أداة مرنة، فإن Trac عبارة عن نظام متطور لتتبع المشكلات وتتبعها لمشروعك. فهو قادر على إدارة تذاكر مختلفة، وتعيين أدوار مختلفة، فضلاً عن إنشاء مستويات أولوية لكل مشكلة في مستودعك.
علاوة على ذلك، يوفر Trac أيضًا عددًا من المكونات الإضافية التي يمكنها تغيير كيفية تصرف مثيلك افتراضيًا. على سبيل المثال، يحتوي على مكون إضافي يسمح لك بدمج Trac في مشروع موجود على Github. ونتيجة لذلك، يعد Trac خيارًا جيدًا إذا كان عليك مراقبة تقدم المشاريع بانتظام وعن كثب.
4. جيت باكت
جيت باكت GitBucket هو استنساخ لـ GitHub يعتمد على JVM ومكتوب بلغة Scala. لا يحتوي على العديد من الميزات مثل التطبيقات الأخرى في القائمة. في الواقع، ميزته الرئيسية هي تشابهه مع GitHub. بعبارة أخرى، إذا بدأت تفتقد GitHub، فيمكنك دائمًا اللجوء إلى GitBucket.
مع ذلك، يأتي GitBucket مع عارض مستودع جيد، ومتعقب مشكلات، والقدرة على مراجعة وقبول طلبات السحب، بالإضافة إلى ويكي بسيط. وبصرف النظر عن ذلك، يمكنك أيضًا توسيع وظائف GitBucket من خلال مساعدة المكونات الإضافية. وهي عبارة عن أجزاء صغيرة من التعليمات البرمجية يمكنها إما تقديم ميزات جديدة أو تغيير الميزات الموجودة لمستودعك. على سبيل المثال، يمكنك تثبيت مكون إضافي لـ GitHub Gist على GitBucket الخاص بك بالإضافة إلى مواقع ويب مخصصة مماثلة لصفحات GitHub.
نصيحة: تعرف على بعض أفضل استخدامات Git Hooks لتحسين مستودعك.
5. جيتيا
جيتيا هي عبارة عن منصة إدارة أكواد خفيفة الوزن تركز على الأمان لنظام Linux. استنادًا إلى Gogs، تهدف إلى توفير بديل شامل لـ GitHub سهل الاستخدام مع استهلاك القليل من موارد النظام أو عدم استهلاكها على الإطلاق.
بعض من أهم ميزات Gitea مقارنة بـ Gogs هي موجزات RSS المضمنة، ودعم سير عمل CI/CD، بالإضافة إلى أدوار المستخدم المتعددة لمستودعك. علاوة على ذلك، يأتي أيضًا مع إطار عمل خاص به للإضافات يسمح لك بإضافة ميزات مثل مواقع الويب المخصصة المشابهة لصفحات GitHub. يعد Gitea بديلاً رائعًا إذا كنت تبحث عن GitHub خفيف الوزن ومُستضاف ذاتيًا وقابل للتوسيع بدرجة كبيرة أيضًا.
لعِلمِكَ: هل أنت من مستخدمي Emacs؟ تعرف على كيفية دمج Git في Emacs باستخدام Magit.
6. عطارد
على عكس الإدخالات السابقة في هذه القائمة، زئبقي Mercurial هي منصة إدارة أكواد مختلفة تمامًا مقارنة بـ GitHub. فهي توفر طريقة أكثر وضوحًا وواقعية لإدارة الكود، وهي أسهل في التعلم بالنسبة لمطوري البرامج الجدد. وعلى غرار Subversion، تهدف Mercurial إلى التخلص من الأشياء غير الضرورية من خلال تزويدك بأوامر مشابهة بالفعل لنظام Linux الخاص بك.
تتمثل إحدى نقاط البيع في Mercurial في أنه متعدد المنصات ومتعدد الوحدات بدرجة كبيرة. ونتيجة لذلك، تأتي المنصة مع عدد كبير من الامتدادات التي يمكنك استخدامها لتخصيص سير عمل Mercurial الخاص بك. على سبيل المثال، يسمح لك الامتداد hgnested بإنشاء مستودعات فرعية أصغر داخل المستودع الرئيسي الخاص بك.
7. الأحفوري
حفرية Fossil هو نظام إدارة أكواد مصدرية غير تابع لـ Git لنظام Linux يركز على البساطة والموثوقية. على عكس Git وMercurial، يوفر Fossil منصة كاملة شاملة لتطوير ومشاركة الكود مع أشخاص آخرين. بمجرد إخراجه من الصندوق، يأتي كل تثبيت لـ Fossil مع منتدى ومتعقب مشكلات وحتى دردشة IRC بسيطة.
تتمثل إحدى نقاط البيع الفريدة لـ Fossil في سهولة نشرها ومرونة متطلبات جهازك. من الممكن إنشاء مستودع Fossil الخاص بك من ملف ثنائي واحد دون أي أذونات sudo بالإضافة إلى تشغيله كحاوية باستخدام Docker وDocker Compose. وهذا يجعله جذابًا للمستخدمين الذين لديهم بالفعل خادم ويحتاجون إلى منصة إدارة أكواد قابلة للتكيف وسهلة النشر في أي بيئة تقريبًا.
إن تعلم بعض أفضل بدائل GitHub التي يمكنك تثبيتها على جهازك هو مجرد الخطوة الأولى لاستعادة خصوصيتك الرقمية عبر الإنترنت. استكشف هذا العالم الرائع للاستضافة الذاتية من خلال إنشاء بديل bit.ly الخاص بك باستخدام Shlink.