انتقل إلى المحتوى

قوالب رسائل الـ 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 يستطيع تعديلها قبل التأكيد.

ماذا بعد؟


هذه الصفحة مبنية على وثائق Gitea (رخصة MIT) بعد ترجمتها وتبسيطها.