تشغيل عمليات Git على مجلدات Databricks Git (Repos)
توضح المقالة كيفية تنفيذ عمليات Git الشائعة في مساحة عمل Databricks باستخدام مجلدات Git، بما في ذلك الاستنساخ والتفريع والتثبيت والدفع.
استنساخ مستودع متصل بمستودع Git بعيد
في الشريط الجانبي، حدد مساحة العمل ثم قم بالمستعرض إلى المجلد حيث تريد إنشاء نسخة مستودع Git.
انقر فوق السهم لأسفل إلى يمين إضافة في الزاوية العلوية اليسرى من مساحة العمل، وحدد Git folder من القائمة المنسدلة.
في مربع الحوار إنشاء مجلد Git، قم بتوفير المعلومات التالية:
- عنوان URL لمستودع Git الذي تريد استنساخه، بالتنسيق
https://example.com/organization/project.git
- موفر Git للمستودع الذي تريد استنساخه. تتضمن الخيارات GitHub وGitHub Enterprise وGitLab وAzure DevOps (Azure Repos)
- اسم المجلد في مساحة العمل التي ستحتوي على محتويات المستودع المستنسخ
- ما إذا كنت ستستخدم السحب المتناثر أم لا، حيث يتم استنساخ الدلائل الفرعية المحددة فقط باستخدام نمط مخروط
- عنوان URL لمستودع Git الذي تريد استنساخه، بالتنسيق
في هذه المرحلة، لديك خيار استنساخ مجموعة فرعية فقط من دلائل المستودع الخاص بك باستخدام السحب المتناثر. وهذا مفيد إذا كان مستودعك أكبر من حدود Databricks المدعومة
- انقر فوق إنشاء مجلد 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 في مساحة العمل ضمن مجلد العمل الحالي الخاص بهم، حيث يمكنهم الآن العمل معه مباشرة.
عند الوصول إلى مجلد Git الخاص بشخص آخر في مساحة عمل مشتركة، انقر فوق إنشاء مجلد Git في الشعار في الأعلى. يفتح هذا الإجراء مربع الحوار إنشاء مجلد Git لك، مع ملء مسبقا بتكوين مستودع Git الذي يدعمه.
هام
حاليا لا يمكنك استخدام Git CLI لتنفيذ عمليات Git في مجلد Git. إذا قمت باستنساخ مستودع Git باستخدام CLI من خلال محطة الويب الخاصة بالمجموعة، فلن يتم عرض الملفات في واجهة مستخدم Azure Databricks.
الوصول إلى مربع حوار Git
يمكنك الوصول إلى مربع حوار Git من دفتر ملاحظات أو من مستعرض مجلدات Databricks Git.
من دفتر ملاحظات، انقر فوق الزر الموجود بجانب اسم دفتر الملاحظات الذي يعرف فرع Git الحالي.
من مستعرض مجلدات Databricks Git، انقر فوق الزر الموجود على يمين اسم المستودع. يمكنك أيضا النقر بزر الماوس الأيمن فوق اسم المستودع وتحديد Git... من القائمة.
سترى مربع حوار في وضع ملء الشاشة حيث يمكنك تنفيذ عمليات Git.
- فرع العمل الحالي الخاص بك. يمكنك تحديد فروع أخرى هنا. إذا كان لدى المستخدمين الآخرين حق الوصول إلى مجلد Git هذا، فإن تغيير الفرع سيؤدي أيضا إلى تغيير الفرع لهم إذا شاركوا نفس مساحة العمل. راجع أفضل الممارسات الموصى بها لتجنب هذه المشكلة.
- الزر لإنشاء فرع جديد.
- قائمة أصول الملفات والمجلدات الفرعية التي تم إيداعها في الفرع الحالي.
- زر ينقلك إلى موفر Git الخاص بك ويعرض لك محفوظات الفرع الحالية.
- زر سحب المحتوى من مستودع Git البعيد.
- مربع نص حيث تضيف رسالة تثبيت ووصفا موسعا اختياريا للتغييرات التي أجريتها.
- الزر لتثبيت عملك في فرع العمل ودفع الفرع المحدث إلى مستودع Git البعيد.
انقر فوق الكباب في أعلى اليمين للاختيار من بين عمليات فرع Git الإضافية، مثل إعادة تعيين ثابتة أو دمج أو إعادة قاعدة.
هذا هو منزلك لتنفيذ عمليات Git على مجلد Git لمساحة العمل الخاصة بك. تقتصر على عمليات Git المقدمة في واجهة المستخدم.
إنشاء فرع جديد.
يمكنك إنشاء فرع جديد استنادا إلى فرع موجود من مربع حوار Git:
التبديل إلى فرع مختلف
يمكنك التبديل إلى (الخروج) فرع مختلف باستخدام القائمة المنسدلة للفرع في مربع حوار Git:
هام
بعد سحب فرع في مجلد Git، هناك دائما فرصة لحذف الفرع على مستودع Git البعيد من قبل شخص آخر. إذا تم حذف فرع على المستودع البعيد، يمكن أن يظل الإصدار المحلي موجودا في مجلد Git المقترن لمدة تصل إلى 7 أيام. لا يمكن حذف الفروع المحلية في Databricks، لذلك إذا كان يجب إزالتها، يجب عليك أيضا حذف المستودع وإعادة إغلاقه.
تثبيت التغييرات ودفعها إلى مستودع Git البعيد
عند إضافة دفاتر ملاحظات أو ملفات جديدة، أو إجراء تغييرات على دفاتر الملاحظات أو الملفات الموجودة، تبرز واجهة مستخدم مجلد Git التغييرات.
أضف رسالة تثبيت مطلوبة للتغييرات، وانقر فوق Commit & Push لدفع هذه التغييرات إلى مستودع Git البعيد.
إذا لم يكن لديك الإذن للالتزام بالفرع الافتراضي (مثل main
الفرع)، قم بإنشاء فرع جديد واستخدم واجهة موفر Git لإنشاء طلب سحب (PR) لدمجه في الفرع الافتراضي.
إشعار
- لا يتم تضمين مخرجات دفتر الملاحظات في التثبيتات بشكل افتراضي عند حفظ دفاتر الملاحظات بتنسيقات الملفات المصدر (
.py
،.scala
، ،.sql
)..r
للحصول على معلومات حول تثبيت مخرجات دفتر الملاحظات باستخدام تنسيق IPYNB، راجع التحكم في تثبيت البيانات الاصطناعية لإخراج دفتر ملاحظات IPYNB
سحب التغييرات من مستودع 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 بالآتي:
- حفظ التثبيتات على الفرع الحالي إلى منطقة مؤقتة.
- إعادة تعيين الفرع الحالي إلى الفرع المختار.
- إعادة نسخ كل تثبيت فردي تم حفظه مسبقا على الفرع الحالي، ما يؤدي إلى محفوظات خطية تجمع بين التغييرات من كلا الفرعين.
تحذير
يمكن أن يؤدي استخدام rebase إلى حدوث مشكلات في تعيين الإصدار للمتعاونين الذين يعملون في نفس المستودع.
سير العمل الشائع هو إعادة إنشاء فرع ميزة على الفرع الرئيسي.
لإعادة إنشاء فرع على فرع آخر:
من القائمة Branch في واجهة مستخدم مجلدات Git، حدد الفرع الذي تريد إعادة إنشاءه.
حدد Rebase من قائمة kebab.
حدد الفرع الذي تريد إعادة إنشاءه.
تدمج عملية إعادة الأساسية التغييرات من الفرع الذي تختاره هنا في الفرع الحالي.
يتم تشغيل git commit
مجلدات Databricks Git وتحديث git push --force
مستودع Git البعيد.
حل تعارضات الدمج
تحدث تعارضات الدمج عندما يحاول مستخدمان أو أكثر من مستخدمي Git دمج التغييرات على نفس أسطر الملف في فرع مشترك ولا يمكن ل Git اختيار التغييرات "الصحيحة" لتطبيقها. يمكن أن تحدث تعارضات الدمج أيضا عندما يحاول مستخدم سحب التغييرات أو دمجها من فرع آخر في فرع مع تغييرات غير ملتزم بها.
إذا كانت عملية مثل السحب أو إعادة إنشاء أو الدمج تتسبب في حدوث تعارض في الدمج، تعرض واجهة مستخدم مجلدات Git قائمة بالملفات ذات التعارضات والخيارات لحل التعارضات.
لديك خياران أساسيان:
- استخدم واجهة مستخدم مجلدات Git لحل التعارض.
- قم باجهاض عملية Git، وتجاهل التغييرات في الملف المتعارض يدويا، وحاول عملية Git مرة أخرى.
عند حل تعارضات الدمج مع واجهة مستخدم مجلدات Git، يجب الاختيار بين حل التعارضات في المحرر يدويا أو الاحتفاظ بجميع التغييرات الواردة أو الحالية.
الاحتفاظ بكافة التغييرات الحالية أو إجراء التغييرات الواردة
إذا كنت تعرف أنك تريد الاحتفاظ بكافة التغييرات الحالية أو الواردة فقط ، فانقر فوق الكباب الموجود على يمين اسم الملف في جزء دفتر الملاحظات وحدد إما الاحتفاظ بكافة التغييرات الحالية أو اتخاذ جميع التغييرات الواردة. انقر فوق الزر الذي يحمل نفس التسمية لتنفيذ التغييرات وحل التعارض.
تلميح
هل تخلط حول الخيار الذي يجب اختياره؟ يطابق لون كل خيار تغييرات التعليمات البرمجية المعنية التي سيحتفظ بها في الملف.
حل التعارضات يدويا
يتيح لك حل التعارض اليدوي تحديد أي من الأسطر المتعارضة يجب قبوله في الدمج. بالنسبة لتعارضات الدمج، يمكنك حل التعارض عن طريق تحرير محتويات الملف مع التعارضات مباشرة.
لحل التعارض، حدد أسطر التعليمات البرمجية التي تريد الاحتفاظ بها واحذف كل شيء آخر، بما في ذلك علامات تعارض دمج 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
المصدر (البعيد) إلى الفرع الرئيسي.
هام
عند إعادة التعيين، تفقد جميع التغييرات غير الملتزم بها والملتزم بها في كل من الإصدار المحلي والنائية من الفرع.
لإعادة تعيين فرع إلى فرع بعيد:
في واجهة مستخدم مجلدات Git من قائمة الفرع ، اختر الفرع الذي تريد إعادة تعيينه.
حدد Reset من قائمة kebab.
حدد الفرع لإعادة تعيينه.
تكوين وضع السحب المتناثر
السحب المتناثر هو إعداد من جانب العميل يسمح لك باستنساخ والعمل مع مجموعة فرعية فقط من دلائل المستودعات البعيدة في Databricks. وهذا مفيد بشكل خاص إذا كان حجم المستودع الخاص بك يتجاوز حدود Databricks المدعومة.
يمكنك استخدام وضع Sparse Checkout عند إضافة (استنساخ) مستودع جديد.
في مربع الحوار إضافة مجلد Git، افتح خيارات متقدمة.
حدد وضع السحب المتفرق.
في المربع أنماط المخروط، حدد أنماط الخروج المخروطية التي تريدها. فصل أنماط متعددة حسب فواصل الأسطر.
في هذا الوقت، لا يمكنك تعطيل السحب المتناثر لم repo في Azure Databricks.
كيفية عمل أنماط المخروط
لفهم كيفية عمل نمط المخروط في وضع السحب المتناثر، راجع الرسم التخطيطي التالي الذي يمثل بنية المستودع البعيد.
إذا حددت وضع السحب المتفرق، ولكنك لم تحدد نمط مخروط، تطبيق نمط المخروط الافتراضي. يتضمن هذا فقط الملفات الموجودة في الجذر ولا توجد دلائل فرعية، مما يؤدي إلى بنية مستودع كما يلي:
تعيين نمط مخروط السداد مع الخروج المتناثر كنتائج parent/child/grandchild
في كافة محتويات الدليل التي grandchild
يتم تضمينها بشكل متكرر. يتم أيضا تضمين الملفات الموجودة على الفور في /parent
الدليل /parent/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.