استرداد النصوص البرمجية ونقل المستودع

إذا حذفت عن طريق الخطأ نصًا برمجيًا أو مجلدًا داخل مستودع في أداة تعديل الرموز في Earth Engine، أو إذا كنت بحاجة إلى نقل مستودع إلى حساب جديد، سيتم الاحتفاظ بسجلّ عمليات الإيداع الكامل في سجلّات Git على خوادمنا. في حين أنّ رمز في "أداة تعديل الرموز" يعيد مستودعًا كاملاً إلى حالة سابقة، يتيح لك استنساخ المستودع محليًا باستخدام أدوات سطر الأوامر القياسية في Git استعادة نصوص برمجية أو مجلدات فردية بشكل انتقائي بدون فقدان التغييرات الأحدث في النصوص البرمجية الأخرى.

البيانات التي يمكن استردادها

في علامة التبويب "أداة تعديل الرموز" النصوص البرمجية، يتم تنظيم عملك على النحو التالي: users/username/repository:folder/script:

  • البرامج النصية والمجلدات (قابلة للاسترداد): يؤدي حذف برنامج نصي أو مجلد داخل مستودع إلى إزالته من آخر عملية تثبيت فقط. بما أنّ المستودع لا يزال متوفّرًا على earthengine.googlesource.com، يمكنك إنشاء نسخة طبق الأصل من المستودع واستعادة الملفات المحذوفة من سجلّ عمليات Git باستخدام الخيار أ أو الخيار ب.
  • المستودعات بأكملها (لا يمكن استردادها): يؤدي حذف مستودع (users/username/repository) إلى إزالة مستودع Git والبرامج النصية وسجلّ عمليات الدمج نهائيًا من earthengine.googlesource.com (مع عرض "Repository is not found"). بعد حذف المستودع، لا يمكن استنساخه أو استرداده.

أكمِل أولاً المتطلبات الأساسية، ثم اختَر أحد الخيارات التالية حسب مهمتك:

المتطلبات الأساسية

الخطوة 1: إنشاء بيانات اعتماد Git

بما أنّ مستودعات Git المستضافة على Google تستخدم مصادقة الرمز المميز الآمن، عليك أولاً إنشاء بيانات اعتماد Git المحلية باتّباع الخطوات التالية:

  1. افتح نافذة تصفّح متخفٍ أو خاص في متصفّح الويب وانتقِل إلى أداة إنشاء كلمات مرور Git: earthengine.googlesource.com/new-password (ملاحظة: سجِّل الدخول حصريًا باستخدام حسابك على Google المسجّل في Earth Engine. إذا كنت تريد نقل مستودع إلى حساب جديد ضمن الخيار (ج)، عليك أولاً مشاركة المستودع القديم مع حسابك الجديد وتسجيل الدخول هنا باستخدام حسابك الجديد على Google .
  2. انسخ كل أوامر shell التي تم إنشاؤها والموضّحة على الشاشة.
  3. افتح نافذة Terminal (سطر الأوامر) على الكمبيوتر، والصِق الأوامر المنسوخة، ثم نفِّذها. يؤدي ذلك إلى ضبط بيانات اعتماد ملف تعريف ارتباط Git على جهازك تلقائيًا.
  4. إذا كانت هذه هي المرة الأولى التي تستخدم فيها Git على جهاز الكمبيوتر، عليك ضبط اسم المؤلف وعنوان البريد الإلكتروني لكي يتيح لك Git إنشاء عمليات إيداع:

    git config --global user.name "Your Name"
    git config --global user.email "you@example.com"
    

الخطوة 2: استنساخ المستودع (الخياران أ وب)

إذا كنت تنقل مستودعًا بين حسابات، انتقِل إلى الخيار ج. لاستعادة نص برمجي أو مجلد محذوفَين، استنسِخ مستودعك في الوحدة الطرفية المحلية من خلال استبدال username وrepository بتفاصيل Earth Engine (يمكنك أيضًا نسخ أمر الاستنساخ الدقيق من خلال النقر على الرمز بجانب اسم المستودع في علامة التبويب النصوص البرمجية):

git clone https://earthengine.googlesource.com/users/username/repository

بعد اكتمال العملية، انتقِل إلى المجلد المستنسخ:

cd repository

الخيار (أ): استعادة نص برمجي محذوف

لاسترداد ملف نص برمجي محذوف (مثل MyScript أو MyFolder/MyScript):

  1. اطّلِع على سجلّ الملف للعثور على عملية الحذف وعملية التثبيت التي تسبقها مباشرةً (المدرَجة بعدها مباشرةً في ناتج السجلّ):

    git log --oneline -- "MyScript"
    
  2. استرداد آخر نسخة كان الملف لا يزال متوفّرًا فيها إلى مجلدك (استبدِل <commit_hash> برمز التجزئة لعملية الإيداع قبل الحذف، أو استخدِم <deletion_commit_hash>~1):

    git checkout <commit_hash> -- "MyScript"
    
  3. نفِّذ النص البرمجي الذي تم استعادته وادفعه إلى الخادم:

    git commit -m "Restore MyScript from history"
    git push origin
    

بعد إرسال النص، أعِد تحميل علامة التبويب نصوص برمجية في "أداة تعديل الرموز" على المتصفّح (أو انقر على الزر في أعلى علامة التبويب نصوص برمجية) للاطّلاع على النص الذي تم استعادته.

الخيار (ب): استعادة مجلد محذوف

لاسترداد مجلد محذوف وجميع البرامج النصية بداخله (على سبيل المثال، MyFolder/):

  1. راجِع سجلّات عمليات الإيداع في Git للعثور على عملية الإيداع التي تم فيها الحذف وعملية الإيداع التي سبقتها مباشرةً (المدرَجة بعدها مباشرةً في ناتج السجلّ):

    git log --oneline -- "MyFolder/"
    
  2. استرداد آخر نسخة كان المجلد لا يزال متوفّرًا فيها إلى مجلدك (استبدِل <commit_hash> برمز التجزئة لعملية الإيداع قبل الحذف، أو استخدِم <deletion_commit_hash>~1):

    git checkout <commit_hash> -- "MyFolder/"
    
  3. إجراء عملية الإيداع ونقل المجلد الذي تم استرداده إلى الخادم:

    git commit -m "Restore MyFolder and all its scripts"
    git push origin
    

بعد إرسال المجلد، أعِد تحميل علامة التبويب البرامج النصية في &quot;أداة تعديل الرموز&quot; على المتصفّح (أو انقر على الزر في أعلى علامة التبويب البرامج النصية) للاطّلاع على المجلد الذي تم استعادته.

الخيار (ج): نقل مستودع كامل

إذا كنت بحاجة إلى نقل مستودع كامل وسجلّ الالتزام الكامل الخاص به إلى حساب جديد (على سبيل المثال، عند الانتقال بين حسابات مؤسسية وشخصية):

بيانات الاعتماد والأذونات: إذا كنت تنقل مستودعًا بين حسابَي Google مختلفَين (على سبيل المثال، من حساب تابع لجامعة أو حساب عمل إلى حساب شخصي)، عليك التأكّد من أنّ حسابك الجديد لديه إذن بقراءة المستودع القديم قبل البدء:

  • شرط المشاركة: سجِّل الدخول إلى حسابك القديم على "محرّر التعليمات البرمجية"، وانقر على الرمز بجانب اسم المستودع القديم، وشارِكه مع عنوان البريد الإلكتروني الجديد لحسابك على Google، مع منحه إذن الوصول كقارئ.
  • من خلال إجراء ذلك، لن تحتاج إلى المصادقة على جهاز الكمبيوتر المحلي إلا مرة واحدة (باستخدام بيانات اعتماد Git الخاصة بحسابك الجديد التي تم إنشاؤها في الخطوة 1). سيتم منح حسابك الجديد الإذن باستنساخ البيانات من مستودعك القديم وإرسالها إلى مستودعك الجديد، ما يمنع حدوث تعارضات في بيانات الاعتماد.
  1. استنسِخ مستودعك القديم محليًا باستخدام Git العادي:

    git clone https://earthengine.googlesource.com/users/old_username/old_repository
    
  2. أنشئ مستودعًا جديدًا فارغًا من القائمة جديد > مستودع في حسابك الجديد على أداة تعديل الرموز. (ملاحظة: لا تنشئ أو تحفظ أي نصوص برمجية أو مجلدات في المستودع الجديد قبل إجراء عملية الدفع، وإلا ستفشل العملية).

  3. انتقِل إلى دليل النسخة المستنسخة على جهازك:

    cd old_repository
    
  4. يمكنك نقل سجلّ عمليات الإيداع المحلية والبرامج النصية بالكامل مباشرةً إلى مستودع Earth Engine الجديد والفارغ:

    git push https://earthengine.googlesource.com/users/new_username/new_repository --all
    

بعد نقلها، أعِد تحميل علامة التبويب البرامج النصية في &quot;أداة تعديل الرموز&quot; الخاص بحسابك الجديد (أو انقر على الزر ) للاطّلاع على المستودع والسجلّ اللذين تم نقلهما.