سؤال

في SVN، يمكنك ربط مستودع إلى أي مجلد في مستودع SVN آخر. أنا أتساءل عما إذا كانت هناك ميزة مماثلة لجيت؟ في الأساس، أريد تنشيط GIT داخل مستودعي، لكنني أريد أن يكون التوصيل مؤشرا لمجلد فرعي لمستودع جيت آخر، وليس المستودع بأكمله. هل هذا ممكن؟

هل كانت مفيدة؟

المحلول

git لا يدعم الخروج الجزئي، وبالتالي نقل يجب الإشارة إلى مستودع كامل.

هذا الموضوع على قائمة بريد جيت يوفر بعض المعلومات الأساسية.

هذه المقالة من البرامج النمر يقدم بعض البصريات من شخص آخر يحاول إنجاز هدف مماثل (أي النسخ المتماثل svn:externals باستخدام git).

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

نصائح أخرى

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

ومع ذلك، يمكنك العمل حول هذا القيد باستخدام Symlink بسيط:

  1. قم بإعداد التقويم الخاص بك في دليل منفصل.
    • git submodule add http://example.com/repo.git ./submodules/repo
  2. قم بإنشاء Symlink إلى المجلد الفرعي في المكان الذي تريده:
    • ln -s ./submodules/repo/subdirectory ./wherever/symlinked_directory

مراجع:

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

يمكنك استخراج هذا التاريخ الفرعي باستخدام أداة مثل git subtree.. وبعد ثم يمكنك ربط المشجع الفرعي مرة أخرى في مشروعك باستخدام إما Fit Git أو GIT Subtree، أيهما تفضله.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top