قوالب رسائل الـ merge¶
رسالة الـ commit التي يكتبها ليڤانت غيت (LevantGit) عند الـ merge لـ pull request قابلة للضبط:
ضع ملف قالب في .gitea/default_merge_message/ داخل الـ default branch، فتتبع كل رسائل الـ
merge في الـ repository الصيغة التي اخترتها. تفيدك حين تريد إدراج رابط الـ review أو أسماء من
نفّذوا approve أو الـ issues المغلقة في كل رسالة.
حين تضغط زر الـ merge يقترح ليڤانت غيت رسالة commit افتراضية (عنوان الـ pull request ورقمه غالبًا). تستطيع تعديلها يدويًا في كل مرة، أو تضع قالبًا في الـ default branch فيُستخدم تلقائيًا لكل الـ pull requests في الـ repository. مفيد مثلًا لإدراج رابط الـ review أو أسماء الـ reviewers أو الـ issues المُغلقة في كل رسالة merge.
أسماء الملفات¶
لكل طريقة merge قالبها. ضع الملف في مجلد .gitea/default_merge_message/:
.gitea/default_merge_message/MERGE_TEMPLATE.md.gitea/default_merge_message/REBASE_TEMPLATE.md.gitea/default_merge_message/REBASE-MERGE_TEMPLATE.md.gitea/default_merge_message/SQUASH_TEMPLATE.md.gitea/default_merge_message/MANUALLY-MERGED_TEMPLATE.md.gitea/default_merge_message/REBASE-UPDATE-ONLY_TEMPLATE.md
| الملف | متى يُستخدم |
|---|---|
MERGE_TEMPLATE.md |
Create merge commit |
REBASE_TEMPLATE.md |
Rebase then fast-forward |
REBASE-MERGE_TEMPLATE.md |
Rebase then create merge commit |
SQUASH_TEMPLATE.md |
Create squash commit |
MANUALLY-MERGED_TEMPLATE.md |
Manually merged |
REBASE-UPDATE-ONLY_TEMPLATE.md |
زر Update branch بالـ rebase داخل الـ pull request |
شرح طرق الـ merge في صفحة Pull requests.
المتغيّرات¶
داخل القالب تكتب المتغيّرات بين ${} (بصيغة os.Expand في Go):
BaseRepoOwnerName: owner الـ repository الهدف (الذي يقع فيه الـ merge).BaseRepoName: اسم الـ repository الهدف.BaseBranch: الـ branch الهدف.HeadRepoOwnerName: owner الـ repository المصدر (الذي يأتي منه الـ branch).HeadRepoName: اسم الـ repository المصدر.HeadBranch: اسم الـ branch المصدر.PullRequestTitle: عنوان الـ pull request.PullRequestDescription: وصف الـ pull request.PullRequestPosterName: اسم من فتح الـ pull request.PullRequestIndex: رقم الـ pull request.PullRequestReference: رقم الـ pull request مع رمز الإشارة، مثل#1أو!2.ClosingIssues: نص يجمع كل الـ issues التي سيغلقها الطلب، مثلclose #1, close #2.ReviewedOn: رابط الـ pull request الذي تنتمي إليه الـ commit، مثلReviewed-on: https://levantgit.com/foo/bar/pulls/1.ReviewedBy: من نفّذ approve للطلب قبل الـ merge، مثلReviewed-by: Jane Doe <[email protected]>.
مثال¶
ملف .gitea/default_merge_message/SQUASH_TEMPLATE.md:
${PullRequestTitle} (${PullRequestReference})
${PullRequestDescription}
${ClosingIssues}
${ReviewedOn}
${ReviewedBy}
فتصبح رسالة الـ squash شيئًا مثل:
Fix login error (#42)
Handle expired sessions gracefully.
close #12
Reviewed-on: https://levantgit.com/acme/app/pulls/42
Reviewed-by: Jane Doe <[email protected]>
الـ rebase¶
عند الـ merge بالـ rebase دون merge commit، يعدّل REBASE_TEMPLATE.md رسالة آخر commit في
الـ branch. لذلك يتوفر فيه متغيّران إضافيان:
CommitTitle: عنوان الـ commit.CommitBody: نص الـ commit.
ملاحظة
القالب يقترح الرسالة فقط؛ من يضغط زر الـ merge يستطيع تعديلها قبل التأكيد.
ماذا بعد؟¶
- Pull requests: طرق الـ merge التي يقابلها كل قالب.
- الإشارات المرتبطة تلقائيًا: كيف يعرف ليڤانت غيت الـ issues التي
يغلقها الطلب (
ClosingIssues). - قوالب Issues و Pull requests: قوالب تملأ وصف الطلب نفسه.
هذه الصفحة مبنية على وثائق Gitea (رخصة MIT) بعد ترجمتها وتبسيطها.