في هذه الأيام، تتزايد برامج البرمجة وتطوير البرمجيات. وعلى هذا النحو، فإن الطلب على البرامج المستخدمة في هذا المجال ارتفع أيضًا إلى أعلى المستويات. وقد أدى ذلك إلى خلق بيئة تنافسية للغاية في عالم الإنترنت حيث تتنافس برامج البرمجة وDevOps المختلفة للفوز بجائزة البرنامج الأكثر استخدامًا في مجال تخصصه. Git هو أحد هذه البرامج. إلى جانب الوضع الطبيعي الجديد للعمل عن بعد بالنسبة للوظائف التي يتم تنفيذها غالبًا خلف شاشة الكمبيوتر، أدى ذلك إلى استضافة العديد من الأشخاص لبرامجهم، بما في ذلك Git على خوادم بعيدة. إذا وجدت نفسك أيضًا في هذه الفئة وترغب في تثبيت خادم Git خاص بك، فلا تبحث أكثر.
في هذه المقالة، سأتعرف على ماهية Git بالضبط وأغطي إيجابياتها وسلبياتها، قبل أن أوضح لك المتطلبات التي ستحتاجها واستضافة خادم Git الخاص بك. دعنا نذهب!
ما هو جيت؟
بوابة هو برنامج DevOps مصمم للسماح للمبرمجين والمبرمجين بمتابعة مشاريعهم وتنفيذها بأكبر قدر ممكن من الكفاءة. الوظيفة الأكثر أهمية لـ Git هي تتبع التغييرات في كود المصدر مع مرور الوقت. جيت هو مجانية ومفتوحة المصدر ويتلقى تحديثات منتظمة. وهذا يجعل Git واحدًا من أكثر برامج DevOps للتشفير موثوقية وسهولة الوصول إليها في العالم. يعمل كل كمبيوتر يوجد به مثيل Git كدليل مستودع كامل له سجل منفصل خاص به لجميع تغييرات الملفات. بعد ما يقرب من 20 عامًا من التطوير النشط وإصدار أكثر من 30 تحديثًا لـ Git، يعمل البرنامج حاليًا على الإصدار 2.40.0، مع انتظار المزيد من التحديثات المستقبلية. الآن دعونا نتعلم بعض حالات استخدام Git لنفهم بشكل أفضل سبب رغبتنا في تثبيت خادم Git في المقام الأول.
حالات استخدام جيت
قبل الانتقال سريعًا لاستضافة خادم Git المحلي الخاص بك، دعنا نتعرف سريعًا على حالات الاستخدام الأساسية لـ Git حتى ندرك سبب قيامنا بتشغيل خادم Git في المقام الأول.
مستودع الاستنساخ
يفضل العديد من المطورين والمبرمجين إنشاء مستودع Git على الخادم لتتبع البرامج والملفات التي يريدونها. يمكن لـ Git أن يسمح لك بسهولة، ومن خلال بعض الأوامر الأساسية، بتكرار مستودع Linux kernel الحالي الخاص بك واستخدامه لتجميع سجل تغيير أكثر تماسكًا وفعالية للملفات التي تهتم بها فقط. هذه العملية سهلة التنفيذ، ويمكنك بسهولة إدارة مشاريع البرمجة الصغيرة والكبيرة باستخدامها. تُعرف هذه العملية أيضًا باسم "المتفرعة"، نظرًا لأنك في الأساس تقوم بإنشاء فرع جديد من مستودعك الموجود بالفعل.
سير عمل جيت
يعد Git Workflow حالة استخدام رئيسية أخرى ستستخدمها بمجرد تكوين خادم git الخاص بك. يمكنك استخدام خادم Git المحلي الخاص بك لإنشاء مجموعتين من الفروع باستخدام عملية الاستنساخ وجعل إحداهما تمثل مشروعك، على سبيل المثال، موقع ويب. بعد ذلك يمكنك إنشاء خادم Git بفرع إنتاج منفصل حيث سيتم تسجيل جميع التغييرات التي أجراها كل مطور ويمكن اختبارها قبل التنفيذ. لا يؤدي هذا النهج متعدد الطبقات للتطوير والاختبار إلى تعزيز كفاءتك فحسب، بل يجعل أيضًا تتبع عملية التطوير والتغييرات أمرًا سهلاً للغاية.
دمج
هل تتذكر تفرع المستودع الخاص بك وتغيير السجل؟ وكما يوحي الاسم، فإن الدمج هو النقيض التام لتلك العملية. عند الدمج، والذي يعتبر على نطاق واسع الجانب الأكثر تحديًا في Git، فإننا نتطلع إلى حقن البيانات من عقدة فرعية لمستودع تخزين واحد مرة أخرى في المستودع الرئيسي الذي تم تقسيمها منه في الأصل. يتم ذلك عادةً لإنشاء خادم Git بتقرير شامل عن المشروع وسجل التغيير الذي يتضمن جميع تغييرات المشروع من مناطق مختلفة في مستودع واحد موجز وسهل الفك. بينما تحتاج أثناء المشروع إلى التفرع لمنع الارتباك، فإن الدمج مصمم لعكس الإجراء وإعطاء صورة كبيرة أكثر وضوحًا في نهاية المشروع أثناء استكشاف الأخطاء وإصلاحها.
استضافة خادم Git الخاص بك: إيجابيات وسلبيات
يحتوي كل برنامج على مجموعة من الإيجابيات والسلبيات المهمة التي يجب أن يعرفها المستخدمون الذين يتطلعون إلى الدخول إلى البرنامج واستخدامه في برامجهم. في هذا القسم، سأناقش الإيجابيات والسلبيات من حيث تطبيقها على Git. ومع ذلك، فإن هذه الإيجابيات والسلبيات لا تنطبق إلا على Git إذا قمت باستضافتها بنفسك، وهو ما يدور حوله هذا الدليل بشكل أو بآخر، لذلك دعونا نتناوله.
Git المستضافة ذاتيًا: الايجابيات
لا مشاركة طرف ثالث
باستخدام Git المستضاف ذاتيًا، ستكون أنت والأشخاص الذين تراهم هم الأشخاص الوحيدين الذين لديهم الوسائل اللازمة للوصول إلى ملفاتك. يؤدي هذا بشكل أساسي إلى القضاء على أي مشاركة غير مرغوب فيها من طرف ثالث ويتيح لك متابعة مشروعك بكل سهولة. ستكون بياناتك أيضًا أكثر أمانًا ويمكنك تخصيص الموارد التي تفكر فيها للأمان في مكان آخر.
حماية
عند الحديث عن الأمان، فإن Git آمن بقدر ما يمكنك تحقيقه من خلال أفضل الممارسات وتنفيذ أدوات الطرف الثالث. على الرغم من انخفاض مستوى الأمان عندما تقوم بالاستضافة الذاتية بدلاً من استخدامه، إلا أن هناك حرية غير محدودة تقريبًا في مدى الأمان الذي يمكنك من خلاله إجراء عملياتك الخاصة.
مستودعات غير محدودة
تذكر الاستنساخ والتفرع؟ ليس هناك حد أقصى لعدد المستودعات التي يمكنك إنشاؤها باستخدام Git. وهذا يجعلها مناسبة بشكل لا يصدق للمشاريع الكبيرة حيث يحتاج كل فرع تطويري إلى مستودعه. يعد هذا أيضًا ممتازًا للمشروعات التي تحتوي على ملفات كبيرة مثل الأصول ثلاثية الأبعاد والحالات التي تعمل فيها باستخدام Unity.
بوابة ذاتية الاستضافة: سلبيات
كميات كبيرة من الجهود الإدارية
يمكن أن تخرج مستودعات Git عن نطاق السيطرة سريعًا إذا قررت تكوين خادم Git على نظامك الأساسي المستضاف ذاتيًا، فقد تصبح إدارة جميع الفروع وبيانات التعريف بمثابة صداع قريبًا. لذا، عليك إما أن تكون دقيقًا بشكل لا يصدق في هذا الأمر أو أن تطلب من أحد المبرمجين المهرة القيام بذلك نيابةً عنك.
منحنى التعلم الخام
إن استضافة Git شيء، ولكن إتقانه وتشغيل خادم Git المحلي الخاص بك هو شيء آخر تمامًا. يمكن القول إن Git يتمتع بأحد أعلى سقوف المهارات من أي برنامج DevOps قائم على المستودعات، ومرة أخرى تحتاج إلى قضاء الكثير من الوقت في تعلمه أو الاستعانة بمصادر خارجية.
لا يوجد دعم لواجهة المستخدم الرسومية ونظام التشغيل Windows
هل تريد إعداد خادم Git على نظام Windows؟ أو ربما أردت تكوين خادم Git ليعمل باستخدام واجهة المستخدم الرسومية؟ حسنًا، لم يحالفك الحظ. أنت مقيد بأنظمة التشغيل التي تستخدم Linux kernel كرمز أساسي لها، ولا توجد واجهة مستخدم رسومية لمساعدتك في تسهيل الأمور. هل تريد تثبيت خادم Git والمضيف الذاتي؟ من الأفضل تعلم أساسيات البرمجة.
طريقة عفا عليها الزمن
بكل المقاييس التي يمكن تخيلها، يبدو أن استخدام Git على خادم مستضاف ذاتيًا قد عفا عليه الزمن وتتفوق عليه الطرق الأخرى الأكثر كفاءة لتشغيل Git. من الأمثلة الرئيسية لعملية تشغيل Git الأكثر كفاءة هي تشغيل GitLab، لذلك قبل أن تقرر تشغيل خادم Git الخاص بك، قم بالخروج جيتلاب أيضاً!
المتطلبات اللازمة لتثبيت خادم Git
الآن دعنا نتناول المتطلبات اللازمة لإعداد خادم Git واستضافة خادم Git الخاص بك بسرعة. لاستضافة Git، تحتاج إلى مكونين فقط، خادم ومثيل لـ Git، مع القليل من المعرفة بالبرمجة لتنفيذ عملية تكوين خادم Git.
خادم جيت
أما بالنسبة للخادم، فيمكنك استخدام جهاز كمبيوتر آخر خاص بك، أو استخدام خوادم مخصصة من موفري الخدمة التقليديين، أو إذا كنت تفضل أسلوبًا عمليًا أكثر، فاستخدم سحابة VPS (الخادم الخاص الافتراضي). من خلال امتلاك VPS، يمكنك إدارة الخادم مباشرة وتشغيل مثيل Git في نفس الوقت. لاحظ أن خادمك يحتاج إلى توزيعة Linux عليه لإعداد خادم Git. تقدم Cloudzy مجموعة واسعة من لينكس فس خدمات تضم أكثر من 10 توزيعات Linux ذات سمعة طيبة مثل Ubuntu وDebian وCentOS وKali وOpenSUSE. بدءًا من 4.95 دولارًا أمريكيًا فقط شهريًا، يمكنك الحصول على خادم Linux جدير بالثقة قريب من موقعك لضمان جودة اتصال رائعة واستخدامه لاستضافة خادم Git وتشغيله ذاتيًا!
احصل على خادم Linux VPS اقتصادي أو متميز لاستضافة موقع الويب الخاص بك أو سطح المكتب البعيد، بأرخص الأسعار المتاحة. يعمل VPS على Linux KVM لزيادة الكفاءة والعمل على أجهزة قوية مع تخزين NVMe SSD لزيادة السرعة.
اقرأ المزيدمثيل جيت
تعد عملية إعداد خادم Git سهلة وسنقوم بإجرائها تلقائيًا كجزء من عملية التثبيت. كما ذكرنا، Git مفتوح المصدر ولا يكلف أي أموال. وهذا ما يجعل Git مفضلاً عن العديد من البرامج الأخرى القائمة على المستودعات والتي تركز على البرمجة والتطوير. الآن بعد أن أصبح لدينا المتطلبات، دعنا ننتقل مباشرة إلى دليلنا خطوة بخطوة لتثبيت خادم Git على خادم Linux الخاص بك!
تثبيت خادم Git على نظام Linux (دليل خطوة بخطوة)
الخطوة 1: تنزيل وتثبيت Git
إليك الخطوة الأولى في عملية تثبيت خادم Git. في محطة توزيعة Linux التي تختارها، أدخل الأمر التالي لبدء تنزيل Git:
التوزيعات المستندة إلى Ubuntu/Debian:
sudo apt install git
التوزيعات المبنية على القوس:
sudo pacman -S git
التوزيعات المعتمدة على RHEL:
sudo dnf install git
سيقوم هذا الأمر بتنزيل Git وتثبيته على خادم Linux الخاص بك. انتظر حتى تنتهي العملية.
الخطوة 2: تسجيل وتكوين خادم Git
إذا كان لديك خادم محلي على سطح مكتب آخر، فقم بتشغيله، وإلا، إذا كان لديك VPS، فاستخدم SSH أو RDP للاتصال بخادم Linux الخاص بك عن بُعد. سنقوم الآن بتهيئة خادم Git ليعمل عن بعد. سنقوم بذلك عن طريق إنشاء حساب Git باستخدام الأمر التالي:
ssh username@address
sudo useradd git
ثم أدخل هذا الأمر للتبديل إلى حسابك الذي تم إنشاؤه حديثًا:
su git
يتم تنفيذ هذه الخطوة في الغالب لضمان أمان خادم Git المحلي الخاص بك. باستخدام هذا الحساب، سوف تكون مسؤول الخادم. يمكنك تنظيم المستخدمين المحتملين في المستقبل بأمان في مجموعات مستخدمين ذات قيود ومستويات وصول محددة مسبقًا.
الخطوة 3: إنشاء أدلة SSH و قم بإنشاء مستودع git على الخادم
الخطوة التالية في عملية تثبيت خادم Git هي إنشاء دليل SSH حصريًا لحفظ بياناتنا المفاتيح العامة وقم بإنشاء مستودع Git على الخادم مع طبقات إضافية من الأمان ومستويات وصول محددة لك. ابدأ بإدخال الأمر التالي:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
بمجرد تقييد الوصول إلى الآخرين باستخدام سطر الأوامر هذا، أدخل السطر التالي للتأكد من تخزين مفاتيح SSH الخاصة بك بأمان في Author_keys المجلد، حيث يمكنك فقط الوصول إليه (قم بتشغيل هذا الأمر فقط إذا لم يكن لديك ملف id_rsa.pub ملف):
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub
أخيرًا، انسخ مفتاح SSH العام الذي قمت بإنشائه لإعداد اتصال SSH جديد مع أمان إضافي لخادم Git المحلي الخاص بك:
cd .ssh
vi authorized_keys
الخطوة 4: إنشاء دليل رئيسي
في خادم Linux الخاص بك، تحتاج إلى إنشاء دليل جديد لحفظ جميع المستودعات التي سيستخدمها Git في مشاريعك المستقبلية. يمكنك التعرف على خصوصيات وعموميات إدارة مستودعات Git الخاصة بك. أدخل هذا الأمر:
mkdir directory_name
الخطوة 5: أضف مشروعك!
لقد تمكنت من إنشاء خادم Git! تمت عملية تثبيت خادم Git بنجاح وتمكنت أيضًا من تكوين خادم Git بنجاح. كل ما تبقى هو إضافة مشاريع إضافية باستخدام الأمر التالي:
cd parent_directory
mkdir new_project.git
ثم أدخل هذا الأمر لإضافة أصل بعيد إلى جهاز الكمبيوتر المحلي الخاص بك:
git init --bare
git remote add origin name git@address:new_project.git
أخيرًا، قم بإجراء دفعة Git لاختبار ما إذا كان كل شيء يعمل على النحو المنشود:
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
تهانينا، لقد تمكنت بنجاح من استضافة git وإنشاء مستودع git على الخادم.
التعليمات
هل يمكنني استضافة Git بدون خادم؟
لا. بغض النظر عن طبيعة الخادم الخاص بك، ستحتاج إلى أجهزة لتكون بمثابة الخادم الخاص بك. يمكنك استخدام GitHub للعمل كخادم سحابي لمستودعاتك أو استخدام الخادم الافتراضي الخاص عروض أو استخدام خدمة استضافة خارجية أخرى للعمل كخادم.
هل هناك أي طريقة لتثبيت خادم Git باستخدام واجهة المستخدم الرسومية؟
نعم. على الرغم من أن Git نفسه لا يدعم واجهة المستخدم الرسومية، إلا أن الإصدار المستقل مع واجهة المستخدم الرسومية المعروف باسم "Git GUI" متاح للأشخاص الذين لا يستطيعون العيش بدون واجهة المستخدم الرسومية.
هل هناك خطة مدفوعة لـ Git؟
لا، لقد كان Git وسيظل دائمًا برنامجًا مجانيًا ومفتوح المصدر كما يعكسه مطوروه وناشروه الأصليون. لذا يمكنك استخدام البرنامج كمشتق لتطوير برنامجك، وإلا فالبرنامج مجاني.
لماذا يجب عليك استضافة خادم Git الخاص بك؟
لنفترض أنك تتطلع إلى تشغيل مشروع صغير بمستودعات محدودة. في هذه الحالة، تكون الاستضافة الذاتية أكثر خصوصية وأمانًا. إذن هذا هو الدافع الأساسي. ولكن مع انتقالك إلى مشاريع أكبر ذات مستودعات أكبر، تبدأ الاستضافة الذاتية في فقدان كفاءتها.