كيف يمكنني ترحيل مشروع حالي إلى GitHub؟

مكتمل

هنا، نناقش الاعتبارات الهامة لترحيل مشروع إلى GitHub من نظام التحكم في الإصدار القديم.

ما السبب في الترحيل إلى GitHub؟

مزايا وفضائل GitHub لا تُحصى ولا تُعدّ. إنه خارج نطاق هذه الوحدة النمطية لإقناعك بالتحرك. ولكن، يمكننا خلاصة بعض الفوائد الرئيسية في سياق الموضوعات التي تحتاج إلى مراعاتها عند التخطيط للترحيل.

التحكم بالإصدار

يستخدم GitHub حصرياً Git، وهو ما يمكن القول بأنه أفضل نظام تحكم في الإصدار. ومع ذلك، فإن Git متطور بشكل لا يصدق ويمكنه تقديم بعض السيناريوهات المعقدة للعمل مع التعليمات البرمجية التي قد لا يكون فريقك من ذوي الخبرة بها. تعد الفروعوطلبات السحب جزءا أساسيا من الحياة اليومية للمطورين الذين يستخدمون Git، لذا فإن فهم وقت وكيفية استخدامها بفعالية أمر ضروري للنجاح على GitHub. من المفيد لفريقك أولا أن يصبح على دراية بتدفق GitHub حتى تتمكن من الوصول إلى الأرض قيد التشغيل.

الاحتفاظ بالتعليمات البرمجية في السحابة

لا يزال يتم تخزين كمية كبيرة من التعليمات البرمجية للمشروع في أنظمة التحكم في الإصدار القديمة خلف جدران حماية الشركة. عند الترحيل إلى GitHub، أنت تقوم بنقل التعليمات البرمجية الخاصة بك إلى نظام GitHub الأساسي السحابي حيث يمكن لأعضاء الفريق الوصول إليها بسهولة من أي مكان. يوفر هذا الترحيل فرصة جيدة لمراجعة نهج الفريق لأنواع الملفات والبيانات التي تحتفظ بها في التحكم في الإصدار. كأفضل ممارسة، يجب أن تفترض أن أي شيء تلتزم به في GitHub يتعرض للخطر. تأكد من عدم تضمين بيانات حساسة مثل مفاتيح واجهة برمجة التطبيقات أو كلمات المرور أو الملفات الأخرى التي تحتوي على معلومات قابلة للمقارنة.

إشعار

يوفر GitHub مستودعات عامة وخاصة، بالإضافة إلى عناصر تحكم وصول متعدد المستويات لأجزاء مختلفة من المستودع. يتيح لك هذا التحكم في الأشخاص الذين يمكنهم رؤية مشروعاتك، وكذلك الإجراءات التي يمكن لمستخدم معين تنفيذها.

التعاون

يقدم GitHub دعمًا ممتازًا للتعاون الجماعي من خلال توفير ميزات مثل مناقشة المشكلات، وطلبات السحب، ومراجعات التعليمات البرمجية. ومع ذلك، قد يختلف تدفق GitHub عن الممارسات التي اعتاد عليها فريقك حاليا. من الجيد التفكير فيما إذا كان الفريق يخطط للتكيف مع GitHub، أو الاحتفاظ بالعملية المحددة، أو الاجتماع في مكان ما في الوسط قبل إكمال الترحيل.

إذا كان مشروعك مشروعاً مفتوح المصدر مسموحاً به للمساهمين الخارجيين، فلا يوجد خيار أفضل من GitHub لتحقيق أقصى قدر من المزايا.

الترحيل إلى GitHub

اعتبارات التخطيط

إن أهم شيء يجب مراعاته قبل تنفيذ ترحيلك إلى GitHub هو تحديد إذا ما كنت بحاجة إلى الاحتفاظ بأي شيء يتجاوز الحالة الحالية لمصدر البيانات أم لا. إذا كنت راضيا عن بدء مشروع جديد بمصدرك الحالي فقط كما هو، فإن الخيار الأفضل هو التعامل معه كمشروع جديد وتحميل المصدر إلى مستودعك.

ومع ذلك، إذا كنت ترغب في الاحتفاظ بمحفوظات التحكم في الإصدار، فأنت بحاجة إلى الاستيراد باستخدام أداة GitHub Migrator. لمزيد من المعلومات حول دعم الاستيراد لمنصات التحكم في الإصدار المختلفة، راجع استيراد البيانات من أنظمة التحكم بالإصدار التابعة لجهة خارجية.

بالإضافة إلى بيانات Git، قد تحتاج أيضا إلى الاحتفاظ بالمشكلات أو طلبات السحب أو البيانات الأخرى. يختلف دعم هذه العناصر حسب النظام الأساسي، وهو متاح بشكل عام من مشاريع المجتمع. لا تغطي هذه الوحدة ترحيل البيانات غير التابعة ل Git.

معالجة الملفات الثنائية المخزنة حاليًا في المشروع

وكأفضل ممارسة، ينبغي أن تقتصر مستودعات GitHub على الملفات الضرورية لإنشاء المشاريع. تجنب تثبيت ملفات ثنائية كبيرة، مثل إنشاء الأدوات. الملفات الثنائية مثل جداول البيانات والعروض هي أكثر ملاءمة ليتم تتبعها على المداخل التي تفهم كيفية الخدمة وإنشاء الإصدار بشكل صحيح. إذا كنت بحاجة إلى إصدار ملفات ثنائية كبيرة، ففكر في استخدام ملحق Git LFS (تخزين الملفات الكبيرة) Git.

إنشاء ملفات Git مهمة مثل .gitignore

يدعم Git ملفات .gitignore للمساعدة في فرض نُهج ملفات التحكم في الإصدار. تحدد هذه الملفات أنماط البحث المستخدمة لاستبعاد الملفات والمجلدات من تعقب عنصر التحكم في المصادر. يستبعد المثال البسيط التالي بشكل متكرر أي مجلدات تسمى Bin أو bin، ومحتوياتها، من تعقب التحكم بالمصادر:

[Bb]in/

يمكنك معرفة المزيد حول تجاهل الملفات. يمكنك أيضا التحقق من مجموعة ملفات البداية .gitignore المقدمة لمختلف الأنظمة الأساسية في مستودع gitignore.

هناك العديد من الملفات الأخرى التي تستخدم عادةً في مشروعات GitHub لشرح النُّهج المختلفة لمستهلكي ومساهمي المستودع. حتى لو كان مشروعك خاصًا ومقتصرًا على جمهور محدود، فإنه من المفيد توضيح هذه النُهج بشكل صريح. على الرغم من عدم الحاجة إلى أي من هذه الملفات، إلا أننا أدرجنا بعض الملفات الشائعة هنا.

الملف الغرض
README.md الصفحة المُنتقل إليها للدليل. يتم عرض هذه الصفحة عند عرض دليلها على GitHub.
LICENSE.md الترخيص الذي يتم توفير التعليمات البرمجية بموجبه.
CONTRIBUTING.md توضح هذه المقالة الكيفية التي ينبغي أن يساهم بها المستخدمون في المشروع، مثل توقعات طلب السحب.
SECURITY.md يشرح نهج الأمان للمشروع. يوفر إرشادات للمستخدمين الذين يرغبون في إرسال تعليمات برمجية حساسة متعلقة بالأمان أو ملاحظات لا ينبغي الكشف عنها بشكل عام قبل معالجتها.

تعرف على المزيد حول إعداد مشروعك للحصول على مساهمات سليمة.

استيراد مشروعك إلى GitHub

بمجرد إعداد المستودع الخاص بك للترحيل، انتقل إلى علامة التبويب Code في مستودع GitHub الخاص بك. استخدم خيار استيراد التعليمات البرمجية لتحديد المستودع المصدر.

لقطة شاشة لاستيراد التعليمات البرمجية إلى مستودع GitHub.

تهتم أداة GitHub Migrator بالباقي.

لقطة شاشة لأداة GitHub Migrator.