زیرماژول‌ها

نمای کلی

یک زیرماژول Git به شما امکان می‌دهد پروژه‌های دیگر Git را به کد خود ادغام کنید، بدون نیاز به کپی-پیست کردن تمام کدهای آن‌ها.

در واقع، ماژول‌های سفارشی شما می‌توانند به ماژول‌های موجود در مخازن دیگر وابسته باشند. در مورد اودو، این ویژگی به شما امکان می‌دهد تا ماژول‌هایی از مخازن دیگر گیت را به شاخه‌های مخزن خود اضافه کنید. افزودن این وابستگی‌ها به شاخه شما از طریق زیرماژول‌ها، فرآیند استقرار کد و سرورها را آسان‌تر می‌کند، زیرا می‌توانید مخازن اضافه‌شده به‌عنوان زیرماژول‌ها را همزمان با کلون کردن مخزن خود کلون کنید.

علاوه بر این، شما می‌توانید شاخه‌ای از مخزن که به عنوان زیرماژول اضافه شده است را انتخاب کنید و کنترل نسخه مورد نظر خود را داشته باشید. تصمیم با شماست که آیا می‌خواهید زیرماژول را به یک نسخه خاص ثابت کنید و چه زمانی می‌خواهید به نسخه جدیدتر به‌روزرسانی کنید.

در Odoo.sh، زیرماژول‌ها این امکان را به شما می‌دهند که از ماژول‌های موجود در مخازن دیگر استفاده کرده و به آن‌ها وابسته شوید. این پلتفرم تشخیص می‌دهد که شما ماژول‌ها را از طریق زیرماژول‌ها به شاخه‌های خود اضافه کرده‌اید و آن‌ها را به‌طور خودکار به مسیر افزونه‌های شما اضافه می‌کند تا بتوانید آن‌ها را در پایگاه‌های داده خود نصب کنید.

اگر مخازن خصوصی را به‌عنوان زیرماژول در شاخه‌های خود اضافه کنید، باید یک کلید استقرار در تنظیمات پروژه Odoo.sh و در تنظیمات مخزن خود پیکربندی کنید. در غیر این صورت، Odoo.sh اجازه دانلود آن‌ها را نخواهد داشت. این فرآیند به‌طور دقیق در فصل تنظیمات > زیرماژول‌ها توضیح داده شده است.

افزودن زیرماژول

با Odoo.sh (ساده)

هشدار

در حال حاضر امکان افزودن مخازن خصوصی با این روش وجود ندارد. با این حال می‌توانید این کار را انجام دهید با Git.

در Odoo.sh، در نمای شاخه‌های پروژه خود، شاخه‌ای را انتخاب کنید که می‌خواهید یک زیرماژول به آن اضافه کنید.

در گوشه بالا سمت راست، روی دکمه زیرماژول کلیک کنید و سپس روی اجرا کلیک کنید.

../../../_images/advanced-submodules-button.png

یک کادر گفتگو با یک فرم نمایش داده شده است. ورودی‌ها را به صورت زیر پر کنید:

  • نشانی مخزن: نشانی SSH مخزن.

  • شعبه: شعبه‌ای که می‌خواهید استفاده کنید.

  • مسیر: پوشه‌ای که می‌خواهید این زیرماژول را در شاخه خود اضافه کنید.

../../../_images/advanced-submodules-dialog.png

در گیت‌هاب، می‌توانید آدرس مخزن را با استفاده از دکمه Clone or download مخزن دریافت کنید. اطمینان حاصل کنید که از SSH استفاده کنید.

../../../_images/advanced-submodules-github-sshurl.png

با گیت (پیشرفته)

در یک ترمینال، در پوشه‌ای که مخزن Git شما کلون شده است، به شاخه‌ای که می‌خواهید یک زیرماژول اضافه کنید، سوئیچ کنید:

$ git checkout <branch>

سپس زیرماژول را با استفاده از فرمان زیر اضافه کنید:

$ git submodule add -b <branch> <git@yourprovider.com>:<username/repository.git> <path>

جایگزین کردن

  • <git@yourprovider.com>:<username/repository.git> با استفاده از URL SSH مخزن که می‌خواهید به عنوان زیرماژول اضافه کنید،

  • <شاخه> توسط شاخه‌ای که می‌خواهید در مخزن بالا استفاده کنید،

  • <مسیر> توسط پوشه‌ای که می‌خواهید این زیرماژول را به آن اضافه کنید.

تغییرات خود را ثبت و ارسال کنید:

$ git commit -a && git push -u <remote> <branch>

جایگزین کردن

  • <remote> توسط مخزنی که می‌خواهید تغییرات خود را به آن ارسال کنید. برای یک تنظیمات استاندارد Git، این origin است.

  • <branch> توسط شاخه‌ای که می‌خواهید تغییرات خود را اعمال کنید. احتمالاً همان شاخه‌ای که در مرحله اول از دستور git checkout استفاده کرده‌اید.

شما می‌توانید مستندات git-scm.com را برای جزئیات بیشتر درباره زیرماژول‌های Git مطالعه کنید. به عنوان مثال، اگر بخواهید زیرماژول‌های خود را به آخرین نسخه آنها به‌روزرسانی کنید، می‌توانید فصل اعمال تغییرات بالادستی را دنبال کنید.

نادیده گرفتن ماژول‌ها

اگر مخزنی اضافه می‌کنید که شامل تعداد زیادی ماژول است، ممکن است بخواهید برخی از آنها را نادیده بگیرید، در صورتی که برخی از آنها به صورت خودکار نصب شوند. برای انجام این کار، می‌توانید پوشه زیرماژول خود را با . پیشوند کنید. پلتفرم این پوشه را نادیده می‌گیرد و شما می‌توانید ماژول‌های مورد نظر خود را با ایجاد لینک‌های نمادین از یک پوشه دیگر انتخاب کنید.