الإشارات المرتبطة تلقائيًا¶
يحوّل ليڤانت غيت (LevantGit) نصوصًا مثل #123 و@username و SHA الـ commit إلى روابط تلقائيًا
حيثما كتبتها: في الـ issues والـ pull requests والتعليقات ورسائل الـ commits. وبعض هذه الإشارات
ينفّذ فعلًا: fixes #12 تغلق الـ issue عند الـ merge، و@1.5h تسجّل الوقت الذي قضيته عليها.
حين تكتب issue أو pull request أو تعليقًا، يفحص ليڤانت غيت النص بحثًا عن إشارات ويحوّلها إلى روابط، وبعضها ينفّذ أفعالًا مثل إغلاق issue. ورسائل الـ commits تُفحص أيضًا عند عرضها، وتُنفَّذ أفعالها عند الـ push إلى الـ default branch.
لكي تُتعرَّف الإشارة يجب ألّا تكون داخل كود (بين علامتي `) وأن تكون مفصولة عمّا
حولها بمسافات.
الإشارة إلى مستخدم أو team¶
اكتب @username وإن وُجد المستخدم صار النص رابطًا إلى الـ profile الخاص به، ووصله إشعار إن
كانت له صلاحية قراءة المحتوى:
@John, can you give this a look?
الصيغة نفسها تعمل مع الـ teams والـ organizations:
@Documenters, we need to plan for this.
تصل الإشعارات للـ teams، لا للـ organization كاملة. ورسائل الـ commits لا تنشئ إشعارات للمستخدمين.
الإشارة إلى commit¶
اكتب SHA1 الخاص بالـ commit، أو أول سبعة أحرف منه على الأقل، فيصير رابطًا إلى الـ commit:
This bug was introduced in e59ff077
الإشارة إلى issue أو pull request¶
#1234: الـ issue أو الـ pull request رقم 1234 في الـ repository نفسه.owner/repository#1234: في repository آخر، مثلmike/compiler#1234.
This seems related to #1234
إلى جانب الرابط، يُضاف في الـ issue المُشار إليها سطرٌ يقول إن أحدًا أشار إليها من هنا (إن كانت لك صلاحية قراءتها).
يمكنك أيضًا كتابة !1234. الفرق: #1234 يشير إلى issue، و!1234 يشير إلى pull request، وفي
الحالتين يعيد ليڤانت غيت توجيهك إلى الصواب إن أخطأت؛ فالـ pull request في ليڤانت غيت نوع من
الـ issues. الفرق يصبح مهمًا فقط مع متتبّع الـ issues الخارجي (انظر أدناه).
إغلاق issue من pull request أو commit¶
ضع كلمة مفتاحية قبل الإشارة ليُغلق ليڤانت غيت الـ issue تلقائيًا:
This PR closes #1234
الكلمات المعتمدة:
- للإغلاق:
close،closes،closed،fix،fixes،fixed،resolve،resolves،resolved - لإعادة الفتح:
reopen،reopens،reopened
حين تُقبل الإشارة يظهر في الـ issue تنبيه بأنها ستُغلق عند الـ merge. ولكي تُقبل يجب أن يتحقق واحد على الأقل مما يلي:
- لك صلاحية إغلاق الـ issue وقت كتابة الإشارة.
- الإشارة داخل رسالة commit.
- الإشارة في وصف الـ pull request (لا في تعليق)؛ وعندها تُغلق الـ issue فقط إن كان لمن نفّذ الـ merge صلاحية إغلاقها.
الأفعال تأتي من الـ pull requests ورسائل الـ commits فقط، ولا تُغلق بها إلا الـ issues (لا الـ pull requests).
نصيحة
اكتب fixes #12 في وصف الـ pull request، لا في تعليق لاحق، لتُغلق الـ issue عند الـ merge
وتظهر علاقتها بالطلب من البداية.
تسجيل الوقت في رسالة الـ commit¶
حين تُغلق commit أو pull request إحدى الـ issues، تستطيع تسجيل الوقت الذي قضيته عليها بإضافة
@<number><time-unit> بعد رقم الـ issue. الوحدات:
m: دقائقh: ساعاتd: أيام (اليوم = 8 ساعات)w: أسابيع (الأسبوع = 5 أيام)mo: أشهر (الشهر = 4 أسابيع)
الأرقام قد تكون عشرية (@1.5h = ساعة ونصف)، وتُجمع الوحدات (@1h10m = ساعة وعشر دقائق).
ويمكن في رسالة واحدة ذكر عدة issues مع وقت كل منها:
Fixed #123 spent @1h, refs #102, fixes #124 @1.5h
هذا يضيف ساعة إلى الـ issue #123 وساعة ونصفًا إلى #124.
متتبّع الـ issues الخارجي¶
يستطيع owner الـ repository، من Settings، أن يستبدل بالـ issues الداخلية متتبّعًا خارجيًا
(على موقع آخر). إن فعّلها في الإعدادات، تصبح #1234 رابطًا إلى الـ issue الخارجية، وتبقى
!1234 رابطًا إلى الـ pull request في ليڤانت غيت:
This is issue #1234, and links to the external tracker. This is pull request !1234, and links to a pull request in LevantGit.
لذلك في الـ repositories ذات المتتبّع الخارجي تستخدم رسالة الـ squash الصيغة ! تلقائيًا.
ملخّص الصيغ¶
في الجدول User1/Repo1 هو الـ repository الذي تكتب فيه، وUserZ/RepoZ repository آخر.
| الإشارة في User1/Repo1 | issues الـ Repo1 خارجية؟ | issues الـ RepoZ خارجية؟ | النتيجة |
|---|---|---|---|
#1234 |
لا | - | رابط إلى الـ issue/pull request رقم 1234 في User1/Repo1 |
!1234 |
لا | - | رابط إلى الـ issue/pull request رقم 1234 في User1/Repo1 |
#1234 |
نعم | - | رابط إلى الـ issue الخارجية 1234 لـ User1/Repo1 |
!1234 |
نعم | - | رابط إلى الـ pull request رقم 1234 في User1/Repo1 |
User1/Repo1#1234 |
لا | - | رابط إلى الـ issue/pull request رقم 1234 في User1/Repo1 |
User1/Repo1!1234 |
لا | - | رابط إلى الـ issue/pull request رقم 1234 في User1/Repo1 |
User1/Repo1#1234 |
نعم | - | رابط إلى الـ issue الخارجية 1234 لـ User1/Repo1 |
User1/Repo1!1234 |
نعم | - | رابط إلى الـ pull request رقم 1234 في User1/Repo1 |
UserZ/RepoZ#1234 |
- | لا | رابط إلى الـ issue/pull request رقم 1234 في UserZ/RepoZ |
UserZ/RepoZ!1234 |
- | لا | رابط إلى الـ issue/pull request رقم 1234 في UserZ/RepoZ |
UserZ/RepoZ#1234 |
- | نعم | رابط إلى الـ issue الخارجية 1234 لـ UserZ/RepoZ |
UserZ/RepoZ!1234 |
- | نعم | رابط إلى الـ pull request رقم 1234 في UserZ/RepoZ |
| معرّفات حرفية-رقمية: | - | - | - |
AAA-1234 |
نعم | - | رابط إلى الـ issue الخارجية AAA-1234 لـ User1/Repo1 |
!1234 |
نعم | - | رابط إلى الـ pull request رقم 1234 في User1/Repo1 |
User1/Repo1!1234 |
نعم | - | رابط إلى الـ pull request رقم 1234 في User1/Repo1 |
| غير مدعوم | - | نعم | رابط إلى الـ issue الخارجية AAA-1234 لـ UserZ/RepoZ |
UserZ/RepoZ!1234 |
- | نعم | رابط إلى الـ pull request رقم 1234 في UserZ/RepoZ |
القسم الأخير للـ repositories التي يستخدم متتبّعها الخارجي معرّفات حرفية-رقمية. و«-» تعني «لا ينطبق».
ملاحظة
الإشارات بين repository بـ issues داخلية وآخر بمتتبّع خارجي غير مدعومة بالكامل وقد تنتج روابط غير صحيحة.
ماذا بعد؟¶
- Pull requests: أين تضع
closes #12في الطلب. - قوالب رسائل الـ merge: أدرج الـ issues المُغلقة في رسالة الـ merge تلقائيًا.
- Markdown: تنسيق الـ issues والتعليقات.
هذه الصفحة مبنية على وثائق Gitea (رخصة MIT) بعد ترجمتها وتبسيطها.