تدريب - تحميل مشروعك إلى GitHub
يمكنك استيراد المستودعات إلى GitHub باستخدام GitHub Importer أو سطر الأوامر أو أدوات الترحيل الخارجية.
حول GitHub Importer
إذا كان لديك التعليمات البرمجية المصدر في Subversion أو Mercurial أو Team Foundation Version Control (TFVC) أو مستودع Git آخر، يمكنك نقله إلى GitHub باستخدام GitHub Importer. GitHub Importer هي أداة تستورد مستودعات التعليمات البرمجية المصدر بسرعةٍ، بما في ذلك التثبيتات ومحفوظات المراجعة، إلى GitHub نيابةً عنك.
أثناء الاستيراد، اعتمادا على نظام التحكم في الإصدار الذي تستورد منه، يمكنك تنفيذ بعض المهام التالية. قم بالمصادقة مع المستودع البعيد، أو تحديث إسناد كاتب الالتزام، أو استيراد المستودعات ذات الملفات الكبيرة، أو إزالة الملفات الكبيرة إذا كنت لا تريد استخدام Git Large File Storage.
استيراد Action | تخريب | Mercurial | TFVC | Git |
---|---|---|---|---|
المصادقة مع مستودع بعيد | X | X | X | X |
تحديث إسناد مؤلف التثبيت | X | X | X | |
نقل الملفات الكبيرة إلى Git Large File Storage | X | X | X | |
إزالة الملفات الكبيرة من مستودعك | X | X | X |
استيراد مستودع باستخدام GitHub Importer
إذا كان لديك مشروع مُستضاف على نظام تحكم آخر بالإصدار، يمكنك استيراده تلقائياً إلى GitHub باستخدام أداة GitHub Importer. GitHub Importer غير مناسب لجميع عمليات الاستيراد. على سبيل المثال، إذا كانت التعليمات البرمجية الموجودة لديك مستضافة على شبكة خاصة، فلن تتمكن أداتنا من الوصول إليها. في هذه الحالات، نوصي بالاستيراد باستخدام سطر الأوامر لمستودعات Git أو أداة ترحيل التعليمات البرمجية المصدر الخارجية للمشاريع المستوردة من أنظمة التحكم في الإصدار الأخرى.
إذا كنت ترغب في مطابقة التثبيتات في المستودع الخاص بك مع حسابات مستخدمي GitHub الخاصة بالمؤلفين أثناء الاستيراد. أولا، تأكد من أن كل مساهم في المستودع الخاص بك لديه حساب GitHub قبل بدء الاستيراد.
تخضع المستودعات والملفات الفردية لحدود الحجم. لمزيد من المعلومات، راجع حول الملفات الكبيرة على GitHub.
اتبع هذه الخطوات لاستيراد مستودع:
في الزاوية العلوية اليسرى من أي صفحة، حدد +، ثم حدد استيراد المستودع.
ضمن "عنوان URL المستنسخ لمستودعك القديم"، اكتب عنوان URL للمشروع الذي تريد استيراده.
اختر حساب المستخدم خاصتك أو مؤسسة لامتلاك المستودع، ثم اكتب اسماً للمستودع على GitHub.
حدد ما إذا كان يجب أن يكون المستودع الجديد عاماً أو خاصاً. لمزيد من المعلومات، راجع تعيين رؤية المستودع.
راجع المعلومات التي أدخلتها، ثم حدد بدء الاستيراد.
إذا كان مشروعك القديم محميا بكلمة مرور، فاكتب معلومات تسجيل الدخول لهذا المشروع، ثم حدد إرسال.
إذا كانت هناك مشاريع متعددة مستضافة في عنوان URL المستنسخ لمشروعك القديم، فاختر المشروع الذي تريد استيراده، ثم حدد إرسال.
إذا كان مشروعك يحتوي على ملفات أكبر من 100 ميغابايت، فاختر ما إذا كنت تريد استيراد الملفات الكبيرة باستخدام Git Large File Storage، ثم حدد Continue.
عند استيراد المستودع بالكامل، تتلقى رسالة بريد إلكتروني.
تحديث إسناد مؤلف التثبيت باستخدام GitHub Importer
أثناء الاستيراد، يمكنك مطابقة التثبيتات في المستودع الخاص بك مع حساب GitHub لمؤلف التثبيت. يبحث GitHub Importer عن مستخدمي GitHub الذين تتطابق عناوين بريدهم الإلكتروني مع مؤلفي التثبيتات في المستودع الذي تستورده. يمكنك بعد ذلك توصيل تثبيت بمؤلفه باستخدام عنوان بريده الإلكتروني أو اسم مستخدم GitHub الخاص بالمؤلف.
تحديث مؤلف التثبيت
اتبع هذه الخطوات لتحديث مؤلف التثبيت:
بعد استيراد المستودع، في صفحة حالة الاستيراد، حدد مطابقة الكتاب.
بجوار الكاتب الذي تريد تحديث معلوماته، حدد الاتصال.
اكتب عنوان البريد الإلكتروني أو اسم مستخدم GitHub للمؤلف، ثم اضغط على مفتاح الإدخال Enter.
إسناد التثبيتات إلى مستخدم GitHub بعنوان بريد إلكتروني عام
إذا كان لدى كاتب التثبيت في المستودع المستورد حساب GitHub مقترن بعنوان البريد الإلكتروني الذي استخدمه لتأليف التثبيتات، ولم يعين عنوان بريده الإلكتروني للتثبيت كعنوان خاص. بعد ذلك، يطابق GitHub Importer عنوان البريد الإلكتروني المرتبط بالالتزام بعنوان البريد الإلكتروني العام المرتبط بحساب GitHub الخاص به، ويسمي الالتزام بحساب GitHub الخاص به.
إسناد التثبيتات إلى مستخدم GitHub بعنوان بريد إلكتروني عام
إذا لم يقم كاتب التثبيت في المستودع المستورد بتعيين عنوان بريد إلكتروني عام على ملف تعريف GitHub الخاص به، أو تعيين عنوان بريده الإلكتروني الخاص بالتثبيت. بعد ذلك، قد لا يتمكن مستورد GitHub من مطابقة عنوان البريد الإلكتروني المقترن بالتثبيت مع حساب GitHub الخاص به.
يمكن لمؤلف التثبيت حل هذه المشكلة عن طريق تعيين عنوان بريده الإلكتروني كعنوان خاص. ثم تنسب عمليات التثبيت الخاصة بهم إلى <username>@users.noreply.github.com
، وتقترن عمليات التثبيت المستوردة بحساب GitHub الخاص بهم.
إسناد التثبيتات باستخدام عنوان بريد إلكتروني
إذا لم يكن عنوان البريد الإلكتروني للمؤلف مقترنا بحساب GitHub الخاص به، فيمكنه إضافة العنوان إلى حسابه بعد الاستيراد، وسيتم إسناد التثبيتات بشكل صحيح.
إذا لم يكن لدى الكاتب حساب GitHub، فإن GitHub Importer سمات التثبيتات الخاصة بهم إلى عنوان البريد الإلكتروني المقترن بالتثبيتات.
استيراد مستودع GitHub باستخدام سطر الأوامر
إذا لم يكن GitHub Importer مناسبا لأغراضك، مثل إذا كانت التعليمات البرمجية الموجودة لديك مستضافة على شبكة خاصة، فإننا نوصي بالاستيراد باستخدام سطر الأوامر.
قبل البدء، تأكد من أنك تعرف:
- اسم مستخدم GitHub الخاص بك
- عنوان URL المُستنسخ للمستودع الخارجي، مثل
https://external-host.com/user/repo.git
أوgit://external-host.com/user/repo.git
(ربما معuser@
أمامexternal-host.com
اسم المجال)
لأغراض العرض التوضيحي، نستخدم:
- حساب خارجي يسمى ext-user
- مضيف Git خارجي يُسمى
https://external-host.com
- حساب مستخدم شخصي GitHub يُسمى ghuser
- مستودع على GitHub.com يُسمى repo.git
اتبع هذه الخطوات لاستيراد المستودع الخارجي:
بادر بإنشاء مستودع على GitHub. يمكنك استيراد مستودع Git الخارجي الخاص بك إلى هذا المستودع الجديد.
في سطر الأوامر، بادر بإجراء نسخة "خالية" من المستودع باستخدام عنوان URL للنسخة الخارجية. ينشئ هذا الأمر نسخة كاملة من البيانات، ولكن دون دليل عمل لتحرير الملفات، ويضمن تصديرا نظيفا وحديثا لجميع البيانات القديمة.
$ git clone --bare https://external-host.com/ext-user/repo.git #Makes a bare clone of the external repository in a local directory
ادفع المستودع المُستنسخ محلياً إلى GitHub باستخدام خيار "mirror"، والذي يضمن نسخ جميع المراجع، مثل الفروع والعلامات، إلى المستودع المستورد.
$ cd repo.git $ git push --mirror https://github.com/ghuser/repo.git #Pushes the mirror to the new repository on GitHub.com
إزالة المستودع المحلي المؤقت.
$ cd .. $ rm -rf repo.git
إضافة التعليمات البرمجية المُستضافة محلياً إلى GitHub
إذا كان لديك تعليمات برمجية أو مستودعات مصدر موجودة مخزنة محليا على الكمبيوتر أو الشبكة الخاصة، يمكنك إضافتها إلى GitHub عن طريق كتابة الأوامر في محطة طرفية. إما بكتابة أوامر Git مباشرة، أو باستخدام GitHub CLI.
GitHub CLI هو أداة مصدر مفتوح لاستخدام GitHub من سطر أوامر حاسوبك. يمكن لـ GitHub CLI تبسيط عملية إضافة مشروع موجود إلى GitHub باستخدام سطر الأوامر. لمعرفة المزيد حول GitHub CLI، راجع حول GitHub CLI.
إضافة مستودع محلي إلى GitHub باستخدام GitHub CLI
اتبع هذه الخطوات لإضافة مستودع محلي باستخدام GitHub CLI:
من سطر الأوامر، انتقل داخل الدليل الجذر لمشروعك.
بادر بتهيئة الدليل المحلي كمستودع Git.
git init -b main
إعداد جميع الملفات وتثبيتها في مشروعك.
git add . && git commit -m "initial commit"
لإنشاء مستودع لمشروعك على GitHub، استخدم
gh repo create subcommand
. عند المطالبة، حدد Push an existing local repository to GitHub وأدخل الاسم المطلوب لمستودعك. إذا كنت تريد أن ينتمي مشروعك إلى مؤسسة بدلاً من حساب المستخدم خاصتك، فحدد اسم المؤسسة واسم المشروع باستخدامorganization-name/project-name
.اتبع المطالبات التفاعلية. لإضافة جهاز التحكم عن بعد ودفع المستودع، تأكد من نعم عند مطالبتك بإضافة جهاز التحكم عن بعد ودفع التثبيتات إلى الفرع الحالي.
بدلاً من ذلك، لتخطي جميع المطالبات، بادر بتوفير المسار إلى المستودع بالعلامة
--source
وتمرير علامة رؤية (--public
أو--private
أو--internal
). على سبيل المثال،gh repo create --source=. --public
حدد جهاز تحكم عن بُعد باستخدام العلامة--remote
. لدفع تثبيتاتك، مرر العلامة--push
. لمزيد من المعلومات حول الوسيطات المحتملة، راجع دليل GitHub CLI.
إضافة مستودع محلي إلى GitHub باستخدام Git
اتبع هذه الخطوات لإضافة مستودع محلي باستخدام Git:
إنشاء مستودع جديد على GitHub.com. لتجنب الأخطاء، لا تقم بتهيئة المستودع الجديد باستخدام README أو الترخيص أو
gitignore files
. يمكنك إضافة هذه الملفات بعد دفع مشروعك إلى GitHub.افتح Git Bash.
غيَّر الدليل المشغَّل الحالي إلى مشروعك المحلي.
بادر بتهيئة الدليل المحلي كمستودع Git.
$ git init -b main
أضِف الملفات في مستودعك المحلي الجديد. يقوم هذا الأمر أيضا بإعدادها للتثبيت الأول.
$ git add . # Adds the files in the local repository and stages them for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'.
تثبيت الملفات المرحلية في المستودع المحلي.
$ git commit -m "First commit" # Commits the tracked changes and prepares them to be pushed to a remote repository. To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.
في الجزء العلوي من المستودع الخاص بك في صفحة الإعداد السريع ل GitHub.com، حدد الزر Copy لنسخ عنوان URL للمستودع البعيد.
في موجه الأوامر، أضف عنوان URL للمستودع البعيد. يتم دفع المستودع المحلي إلى هذا الموقع.
$ git remote add origin <REMOTE_URL> # Sets the new remote $ git remote -v # Verifies the new remote URL
ادفع التغييرات في مستودعك المحلي إلى GitHub.com.
$ git push origin main # Pushes the changes in your local repository up to the remote repository you specified as the origin
أدوات ترحيل التعليمات البرمجية المصدر
يمكنك استخدام أدوات خارجية لنقل مشاريعك إلى GitHub. نوصي باستخدام GitHub Importer لاستيراد المشاريع من Subversion أو Mercurial أو Team Foundation Version Control (TFVC) أو مستودع Git آخر. يمكنك أيضاً استخدام هذه الأدوات الخارجية لتحويل مشروعك إلى Git.
الاستيراد من Subversion
في بيئة Subversion النموذجية، يتم تخزين مشاريع متعددة في مستودع جذر واحد. في GitHub، يتم تعيين كل مشروع من هذه المشاريع عادة إلى مستودع Git منفصل لحساب مستخدم أو مؤسسة. نقترح استيراد كل جزء من مستودع Subversion خاصتك إلى مستودع GitHub منفصل إذا:
- يحتاج المتعاونون إلى سحب هذا الجزء من المشروع أو الالتزام به بصفةٍ منفصلةٍ عن الأجزاء الأخرى
- تريد أن يكون لأجزاء مختلفة أذونات وصول خاصة بها
نوصي بهذه الأدوات لتحويل مستودعات Subversion إلى Git:
الاستيراد من Mercurial
نوصي بـ hg-fast-export لتحويل مستودعات Mercurial إلى Git.
الاستيراد من TFVC
نوصي بـ git-tfs لنقل التغييرات بين TFVC وGit.
لمزيد من المعلومات حول الانتقال من TFVC (نظام تحكم مركزي في الإصدار) إلى Git، راجع الترحيل إلى Git من التحكم المركزي في الإصدار.