تشغيل عمليات Git على مجلدات Databricks Git (Repos)

توضح المقالة كيفية تنفيذ عمليات Git الشائعة في مساحة عمل Databricks باستخدام مجلدات Git، بما في ذلك الاستنساخ والتفريع والتثبيت والدفع.

استنساخ مستودع متصل بمستودع Git بعيد

  1. في الشريط الجانبي، حدد مساحة العمل ثم قم بالمستعرض إلى المجلد حيث تريد إنشاء نسخة مستودع Git.

  2. انقر فوق السهم لأسفل إلى يمين إضافة في الزاوية العلوية اليسرى من مساحة العمل، وحدد Git folder من القائمة المنسدلة.

    إضافة واجهة مستخدم المستودع.

  3. في مربع الحوار إنشاء مجلد Git، قم بتوفير المعلومات التالية:

    • عنوان URL لمستودع Git الذي تريد استنساخه، بالتنسيق https://example.com/organization/project.git
    • موفر Git للمستودع الذي تريد استنساخه. تتضمن الخيارات GitHub وGitHub Enterprise وGitLab وAzure DevOps (Azure Repos)
    • اسم المجلد في مساحة العمل التي ستحتوي على محتويات المستودع المستنسخ
    • ما إذا كنت ستستخدم السحب المتناثر أم لا، حيث يتم استنساخ الدلائل الفرعية المحددة فقط باستخدام نمط مخروط

    استنساخ من واجهة مستخدم مجلد Git.

في هذه المرحلة، لديك خيار استنساخ مجموعة فرعية فقط من دلائل المستودع الخاص بك باستخدام السحب المتناثر. وهذا مفيد إذا كان مستودعك أكبر من حدود Databricks المدعومة

  1. انقر فوق إنشاء مجلد Git. يتم نسخ محتويات المستودع البعيد إلى مستودع Databricks، ويمكنك البدء في العمل معهم باستخدام عمليات Git المدعومة من خلال مساحة العمل الخاصة بك.

أفضل الممارسات: التعاون في مجلدات Git

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

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

انقر فوق الزر Copy link to Git folder الشعار لمشاركة تكوين Git repo للمجلد مع مستخدم آخر في مؤسسة Databricks

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

عند عرض مجلد Git الخاص بمستخدم آخر، انقر فوق الزر إنشاء مجلد Git في الشعار لإنشاء نسخة من هذا المجلد في مساحة العمل الخاصة بك

هام

حاليا لا يمكنك استخدام Git CLI لتنفيذ عمليات Git في مجلد Git. إذا قمت باستنساخ مستودع Git باستخدام CLI من خلال محطة الويب الخاصة بالمجموعة، فلن يتم عرض الملفات في واجهة مستخدم Azure Databricks.

الوصول إلى مربع حوار Git

يمكنك الوصول إلى مربع حوار Git من دفتر ملاحظات أو من مستعرض مجلدات Databricks Git.

  • من دفتر ملاحظات، انقر فوق الزر الموجود بجانب اسم دفتر الملاحظات الذي يعرف فرع Git الحالي.

    زر مربع حوار Git على دفتر الملاحظات.

  • من مستعرض مجلدات Databricks Git، انقر فوق الزر الموجود على يمين اسم المستودع. يمكنك أيضا النقر بزر الماوس الأيمن فوق اسم المستودع وتحديد Git... من القائمة.

    زر مربع حوار Git وقائمة Git في مستعرض المستودع.

سترى مربع حوار في وضع ملء الشاشة حيث يمكنك تنفيذ عمليات Git.

مربع الحوار المستخدم لتنفيذ عمليات Git في مساحة عمل Databricks.

  1. فرع العمل الحالي الخاص بك. يمكنك تحديد فروع أخرى هنا. إذا كان لدى المستخدمين الآخرين حق الوصول إلى مجلد Git هذا، فإن تغيير الفرع سيؤدي أيضا إلى تغيير الفرع لهم إذا شاركوا نفس مساحة العمل. راجع أفضل الممارسات الموصى بها لتجنب هذه المشكلة.
  2. الزر لإنشاء فرع جديد.
  3. قائمة أصول الملفات والمجلدات الفرعية التي تم إيداعها في الفرع الحالي.
  4. زر ينقلك إلى موفر Git الخاص بك ويعرض لك محفوظات الفرع الحالية.
  5. زر سحب المحتوى من مستودع Git البعيد.
  6. مربع نص حيث تضيف رسالة تثبيت ووصفا موسعا اختياريا للتغييرات التي أجريتها.
  7. الزر لتثبيت عملك في فرع العمل ودفع الفرع المحدث إلى مستودع Git البعيد.

قائمة كباب انقر فوق الكباب في أعلى اليمين للاختيار من بين عمليات فرع Git الإضافية، مثل إعادة تعيين ثابتة أو دمج أو إعادة قاعدة.

القائمة المنسدلة في حوار مجلد Git لعمليات الفرع.

هذا هو منزلك لتنفيذ عمليات Git على مجلد Git لمساحة العمل الخاصة بك. تقتصر على عمليات Git المقدمة في واجهة المستخدم.

إنشاء فرع جديد.

يمكنك إنشاء فرع جديد استنادا إلى فرع موجود من مربع حوار Git:

فرع جديد لمربع حوار Git.

التبديل إلى فرع مختلف

يمكنك التبديل إلى (الخروج) فرع مختلف باستخدام القائمة المنسدلة للفرع في مربع حوار Git:

تبديل مربع حوار Git إلى فرع مختلف

هام

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

تثبيت التغييرات ودفعها إلى مستودع Git البعيد

عند إضافة دفاتر ملاحظات أو ملفات جديدة، أو إجراء تغييرات على دفاتر الملاحظات أو الملفات الموجودة، تبرز واجهة مستخدم مجلد Git التغييرات.

مربع حوار Git مع تمييز التغييرات.

أضف رسالة تثبيت مطلوبة للتغييرات، وانقر فوق Commit & Push لدفع هذه التغييرات إلى مستودع Git البعيد.

إذا لم يكن لديك الإذن للالتزام بالفرع الافتراضي (مثل main الفرع)، قم بإنشاء فرع جديد واستخدم واجهة موفر Git لإنشاء طلب سحب (PR) لدمجه في الفرع الافتراضي.

إشعار

سحب التغييرات من مستودع Git البعيد

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

هام

تعمل عمليات Git التي تسحب التغييرات الأولية على مسح حالة دفتر الملاحظات. لمزيد من المعلومات، راجع مسح التغييرات الواردة لحالة دفتر الملاحظات.

دمج الفروع

الوصول إلى عملية Git Merge عن طريق تحديدها من قائمة كباب الكباب في الجزء العلوي الأيسر من مربع حوار عمليات Git.

تعمل وظيفة الدمج في مجلدات Databricks Git على دمج فرع واحد في فرع آخر باستخدام git merge. عملية الدمج هي طريقة لدمج محفوظات التثبيت من فرع إلى فرع آخر؛ الفرق الوحيد هو الاستراتيجية التي يستخدمها لتحقيق ذلك. بالنسبة للمبتدئين في Git، نوصي باستخدام الدمج (على إعادة إنشاء) لأنه لا يتطلب فرض الدفع إلى فرع وبالتالي لا يعيد كتابة محفوظات التثبيت.

  • إذا كان هناك تعارض في الدمج، فحله في واجهة مستخدم مجلدات Git.
  • إذا لم يكن هناك تعارض، يتم دفع الدمج إلى مستودع Git البعيد باستخدام git push.

Rebase فرع على فرع آخر

الوصول إلى عملية Git Rebase عن طريق تحديدها من قائمة كباب قائمة الكباب في أعلى يمين مربع حوار عمليات Git.

تغيير قاعدة محفوظات التثبيت للفرع. مثل git merge، git rebase يدمج التغييرات من فرع إلى آخر. يقوم Rebase بالآتي:

  1. حفظ التثبيتات على الفرع الحالي إلى منطقة مؤقتة.
  2. إعادة تعيين الفرع الحالي إلى الفرع المختار.
  3. إعادة نسخ كل تثبيت فردي تم حفظه مسبقا على الفرع الحالي، ما يؤدي إلى محفوظات خطية تجمع بين التغييرات من كلا الفرعين.

تحذير

يمكن أن يؤدي استخدام rebase إلى حدوث مشكلات في تعيين الإصدار للمتعاونين الذين يعملون في نفس المستودع.

سير العمل الشائع هو إعادة إنشاء فرع ميزة على الفرع الرئيسي.

لإعادة إنشاء فرع على فرع آخر:

  1. من القائمة Branch في واجهة مستخدم مجلدات Git، حدد الفرع الذي تريد إعادة إنشاءه.

  2. حدد Rebase من قائمة kebab.

    وظيفة إعادة قاعدة Git في قائمة الكباب.

  3. حدد الفرع الذي تريد إعادة إنشاءه.

    تدمج عملية إعادة الأساسية التغييرات من الفرع الذي تختاره هنا في الفرع الحالي.

يتم تشغيل git commit مجلدات Databricks Git وتحديث git push --force مستودع Git البعيد.

حل تعارضات الدمج

تحدث تعارضات الدمج عندما يحاول مستخدمان أو أكثر من مستخدمي Git دمج التغييرات على نفس أسطر الملف في فرع مشترك ولا يمكن ل Git اختيار التغييرات "الصحيحة" لتطبيقها. يمكن أن تحدث تعارضات الدمج أيضا عندما يحاول مستخدم سحب التغييرات أو دمجها من فرع آخر في فرع مع تغييرات غير ملتزم بها.

صورة GIF متحركة تعرض تعارض دمج شائع ينشأ عن تغييرات غير ملتزم بها أثناء سحب git

إذا كانت عملية مثل السحب أو إعادة إنشاء أو الدمج تتسبب في حدوث تعارض في الدمج، تعرض واجهة مستخدم مجلدات Git قائمة بالملفات ذات التعارضات والخيارات لحل التعارضات.

لديك خياران أساسيان:

  • استخدم واجهة مستخدم مجلدات Git لحل التعارض.
  • قم باجهاض عملية Git، وتجاهل التغييرات في الملف المتعارض يدويا، وحاول عملية Git مرة أخرى.

صورة GIF متحركة تعرض تعارض دمج في واجهة مستخدم مجلد مجلدات Databricks Git

عند حل تعارضات الدمج مع واجهة مستخدم مجلدات Git، يجب الاختيار بين حل التعارضات في المحرر يدويا أو الاحتفاظ بجميع التغييرات الواردة أو الحالية.

الاحتفاظ بكافة التغييرات الحالية أو إجراء التغييرات الواردة

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

جزء واجهة مستخدم دفتر ملاحظات Databricks، يعرض خيارات القائمة المنسدلة لحل تعارض الدمج

تلميح

هل تخلط حول الخيار الذي يجب اختياره؟ يطابق لون كل خيار تغييرات التعليمات البرمجية المعنية التي سيحتفظ بها في الملف.

حل التعارضات يدويا

يتيح لك حل التعارض اليدوي تحديد أي من الأسطر المتعارضة يجب قبوله في الدمج. بالنسبة لتعارضات الدمج، يمكنك حل التعارض عن طريق تحرير محتويات الملف مع التعارضات مباشرة.

صورة GIF متحركة تعرض حل يدوي لتضارب الدمج

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

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

بوابه reset

في مجلدات Databricks Git، يمكنك تنفيذ Git reset داخل واجهة مستخدم Azure Databricks. إعادة تعيين Git في مجلدات Databricks Git يعادل git reset --hard دمجها مع git push --force.

تستبدل إعادة تعيين Git محتويات الفرع والمحفوظات بأحدث حالة لفرع آخر. يمكنك استخدام هذا عندما تتعارض عمليات التحرير مع الفرع المصدر، ولا تمانع في فقدان هذه التعديلات عند إعادة التعيين إلى الفرع المصدر. اقرأ المزيد عن git reset –hard.

إعادة التعيين إلى فرع المصدر (البعيد)

مع git reset في هذا السيناريو:

  • يمكنك إعادة تعيين الفرع المحدد (على سبيل المثال، feature_a) إلى فرع مختلف (على سبيل المثال، main).
  • يمكنك أيضا إعادة تعيين فرع feature_a المصدر (البعيد) إلى الفرع الرئيسي.

هام

عند إعادة التعيين، تفقد جميع التغييرات غير الملتزم بها والملتزم بها في كل من الإصدار المحلي والنائية من الفرع.

لإعادة تعيين فرع إلى فرع بعيد:

  1. في واجهة مستخدم مجلدات Git من قائمة الفرع ، اختر الفرع الذي تريد إعادة تعيينه.

    محدد الفرع في واجهة مستخدم مجلدات Git.

  2. حدد Reset من قائمة kebab.

    عملية إعادة تعيين Git في قائمة kebab.

  3. حدد الفرع لإعادة تعيينه.

    إعادة تعيين Git --مربع الحوار الثابت.

تكوين وضع السحب المتناثر

السحب المتناثر هو إعداد من جانب العميل يسمح لك باستنساخ والعمل مع مجموعة فرعية فقط من دلائل المستودعات البعيدة في Databricks. وهذا مفيد بشكل خاص إذا كان حجم المستودع الخاص بك يتجاوز حدود Databricks المدعومة.

يمكنك استخدام وضع Sparse Checkout عند إضافة (استنساخ) مستودع جديد.

  1. في مربع الحوار إضافة مجلد Git، افتح خيارات متقدمة.

  2. حدد وضع السحب المتفرق.

    خيار السحب المتفرق في مربع الحوار إضافة مجلد Git.

  3. في المربع أنماط المخروط، حدد أنماط الخروج المخروطية التي تريدها. فصل أنماط متعددة حسب فواصل الأسطر.

في هذا الوقت، لا يمكنك تعطيل السحب المتناثر لم repo في Azure Databricks.

كيفية عمل أنماط المخروط

لفهم كيفية عمل نمط المخروط في وضع السحب المتناثر، راجع الرسم التخطيطي التالي الذي يمثل بنية المستودع البعيد.

بنية المستودع البعيد دون سحب متفرق.

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

السحب المتفرق: نمط المخروط الافتراضي.

تعيين نمط مخروط السداد مع الخروج المتناثر كنتائج parent/child/grandchild في كافة محتويات الدليل التي grandchild يتم تضمينها بشكل متكرر. يتم أيضا تضمين الملفات الموجودة على الفور في /parentالدليل /parent/child الجذر و. راجع بنية الدليل في الرسم التخطيطي التالي:

السحب المتفرق: حدد نمط مخروط المجلد parent-grandchild-child.

يمكنك إضافة أنماط متعددة مفصولة بفواصل أسطر.

إشعار

سلوكيات الاستبعاد (!) غير مدعومة في بناء جملة نمط مخروط Git.

تعديل إعدادات الخروج المتناثرة

بمجرد إنشاء مستودع، يمكن تحرير نمط مخروط الخروج المتناثر من إعدادات أنماط مخروط متقدمة>.>

لاحظ السلوك التالي:

  • تؤدي إزالة مجلد من نمط المخروط إلى إزالته من Databricks إذا لم تكن هناك تغييرات غير ملتزم بها.

  • إضافة مجلد عن طريق تحرير نمط مخروط الخروج متفرق يضيفه إلى Databricks دون الحاجة إلى سحب إضافي.

  • لا يمكن تغيير أنماط السحب المتناثرة لإزالة مجلد عند وجود تغييرات غير ملتزم بها في هذا المجلد.

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

إشعار

لا يمكنك تعطيل السحب المتناثر لم repo الذي تم إنشاؤه مع تمكين وضع Sparse Checkout.

إجراء التغييرات ودفعها مع الخروج المتناثر

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

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

أنماط لملف تكوين المستودع

يستخدم ملف تكوين مخرجات التثبيت أنماطا مشابهة لأنماط gitignore ويفعل ما يلي:

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

نمط موجب: لتضمين مخرجات من مسار folder/innerfolder/notebook.ipynbدفتر ملاحظات، استخدم الأنماط التالية:

**/*
folder/**
folder/innerfolder/note*

النمط السالب: لاستبعاد مخرجات دفتر ملاحظات، تحقق من عدم تطابق أي من الأنماط الموجبة أو إضافة نمط سالب في موضع صحيح من ملف التكوين. تبدأ الأنماط السالبة (الاستبعاد) ب !:

!folder/innerfolder/*.ipynb
!folder/**/*.ipynb
!**/notebook.ipynb

قيود السداد مع الخروج المتناثرة

لا يعمل السحب المتفرق حاليا مع مستودعات Azure DevOps التي يزيد حجمها عن 4 غيغابايت.

إضافة مستودع والاتصال عن بعد لاحقا

لإدارة مجلدات Git والعمل معها برمجيا، استخدم واجهة برمجة تطبيقات REST لمجلدات Git.