رفتن به محتوا

بازبینی و ادغام یک PR

این راهنما نشان می‌دهد چگونه یک pull request را بازبینی و ادغام کنید.

  1. در نوار کناری به Pull requestها بروید
  2. یک PR را از فهرست انتخاب کنید

یک PR به‌شکل میزکاری زبانه‌دار باز می‌شود، نه یک صفحهٔ واحد. پنج زبانه به‌طور پیش‌فرض و به این ترتیب باز می‌شوند: نمای کلی، دیف، کنترل منبع، گفتگو و کنش‌ها (بررسی‌های CI که بر پایهٔ گردش کار گروه‌بندی شده‌اند). بازبینی — یعنی پیشرفت پایپ‌لاین بازبینی و سپس آرتیفکتی که همراه با نوار یافته‌هایش منتشر کرده — عمداً یکی از آن‌ها نیست: یک PR تا وقتی کسی درخواست بازبینی نکند بازبینی ندارد، پس پرسش از AI آن را باز می‌کند. یک ترمینال، یک ویرایشگر تک‌فایل، یک code-server تعبیه‌شده و یک مرورگر درون‌برنامه‌ای به‌صورت درخواستی باز می‌شوند؛ زبانه‌های پیش‌نمایش استقرار وقتی یک URL پیش‌نمایش روی PR شناسایی شود به‌طور خودکار تزریق می‌شوند. چیدمان زبانه‌های شما برای هر PR به خاطر سپرده می‌شود.

زبانهٔ نمای کلی فرادادهٔ PR را حمل می‌کند (نویسنده، شاخه، برچسب‌ها، تخصیص‌یافته‌ها، واکنش‌ها، کامیت‌ها، وضعیت بررسی) و همچنین ردیف کنش‌ها را: تازه‌سازی، بازبینی، ادغام، باز کردن در IDE و یک منوی سرریز ⋯.

زبانهٔ دیف را باز کنید تا کل دیف PR را یک‌جا ببینید، همراه با درخت فایلی برای جهیدن میان فایل‌ها.

  • دکمهٔ تنظیمات در نوارابزار دیف میان نمای شکافته (کناربه‌کنار) و یکپارچه جابه‌جا می‌شود و شکستن خط و لیگاتورهای فونت کد را روشن/خاموش می‌کند.
  • سرصفحه‌های قطعهٔ @@ با امکانات Show N lines / Show end of file جایگزین می‌شوند که با کلیک، بافت پیرامون را درج می‌کنند.
  • برای گام‌برداشتن میان فایل‌ها j / k را فشار دهید، c برای جمع یا باز کردن فایل فوکوس‌شده، t برای بازگرداندن نوار کناری به درخت فایل و ⌘F برای جستجو در سراسر دیف (Enter / Shift+Enter میان تطبیق‌ها می‌گردند).
  • v را فشار دهید تا فایل فوکوس‌شده دیده‌شده علامت بخورد، و نشانگر به فایل بعدی پیش می‌رود. در GitHub وضعیت دیده‌شده روی خودِ میزبان ذخیره می‌شود، پس میان کلاینت‌ها همراهتان می‌آید؛ GitLab و Bitbucket چنین APIای ندارند، پس آنجا فقط روی همین دستگاه به خاطر سپرده می‌شود.

کشیدن با ماوس در ناحیهٔ کد، متن را تا ستون دقیق انتخاب می‌کند و ⌘C به‌جای نشانگرهای رندرشدهٔ دیف، منبع خام را کپی می‌کند.

  1. روی حاشیهٔ یک ردیف کد بزنید تا یک جعبهٔ نوشتن نظرِ لنگرشده به آن خط باز شود، یا برای نظری در سطح فایل از دکمهٔ + روی سرصفحهٔ فایل استفاده کنید
  2. بازخوردتان را در Markdown بنویسید
  3. ارسال کنید

در GitHub و GitLab، جعبهٔ نوشتن نظر دو راه ارسال پیشنهاد می‌دهد: افزودن نظر تکی بلافاصله منتشر می‌کند، و شروع بازبینی / افزودن به بازبینی نظر را در یک بازبینی در انتظار صف می‌کند که همراه با تأیید، درخواست تغییرات یا نظر بیرون می‌رود. Bitbucket دسته‌بندی بازبینی در انتظار ندارد، پس آنجا هر ارسال بلافاصله منتشر می‌شود. ارسال فوری وضعیت در انتظار را نشان می‌دهد تا میزبان تأییدش کند، سپس به همگام‌شده تغییر می‌کند. اگر ارسال شکست بخورد، رشته با خطا علامت می‌خورد و گزینهٔ تلاش دوباره پیشنهاد می‌دهد.

تنها بدنهٔ بازبینی پیش‌نویس است: لحظه‌ای پس از دست کشیدن از تایپ، سمت سرور در برابر (مالک، مخزن، شمارهٔ PR) ذخیره می‌شود، پس از بارگذاری مجدد جان سالم به در می‌برد و میان کلاینت دسکتاپ و وب همراهتان می‌آید.

  1. در ردیف کنش‌های نمای کلی بازبینی را فشار دهید (روی PRهای خودتان و روی یک PR بسته یا ادغام‌شده پنهان است)
  2. متن بازبینی را بنویسید. می‌توانید تصویری پیوست کنید، یک ایموجی یا GIF درج کنید و میان نوشتن و پیش‌نمایش جابه‌جا شوید
  3. درخواست تغییرات، نظر یا تأیید را فشار دهید

حکم همان دکمه است — هیچ گزینشگر حکم جداگانه‌ای وجود ندارد. پس از تأیید یا درخواست تغییرات، دکمه خودش را به تأییدشده یا تغییرات درخواست‌شده برچسب می‌زند و متن پیش‌نویس پاک می‌شود. حکم نظر دکمه را با برچسب بازبینی رها می‌کند.

دکمهٔ ادغام وقتی نمایان می‌شود که دسترسی نوشتن داشته باشید و PR باز و پیش‌نویس نباشد. رنگش نشانه‌ای از آمادگی است که از تأییدهای لازم و وضعیت بررسی به دست می‌آید (آماده / در انتظار / مسدود) — تنها جنبهٔ مشورتی دارد. این دکمه هرگز به‌خاطر وضعیت بازبینی غیرفعال نمی‌شود؛ این محافظت از شاخهٔ خودِ میزبان است که قواعد را اعمال می‌کند.

  1. برای باز کردن پنجرهٔ شناور ادغام، ادغام را فشار دهید
  2. یک روش ادغام برگزینید: اسکواش، کامیت ادغام یا ریبیس (اسکواش پیش‌فرض است). Bitbucket ادغام ریبیس واقعی ندارد، پس ریبیس به راهبرد fast-forward آن نگاشت می‌شود و روی شاخهٔ واگرا شکست می‌خورد
  3. برای اسکواش و کامیت ادغام، عنوان و توضیح پیش‌پرشدهٔ کامیت را ویرایش کنید. ریبیس هیچ‌یک از این دو را نمی‌گیرد و هر دو فیلد را پنهان می‌کند
  4. پنل هشدارها را بخوانید — بررسی‌های ناموفق و بازبینی‌های در انتظار را نام می‌برد، اما مانع شما نمی‌شود
  5. برای تأیید، دکمهٔ ادغام را در پنجرهٔ شناور فشار دهید

ادغام بازگشت‌ناپذیر است: کامیت‌ها را به میزبان می‌فرستد، پس به‌جای یک ورودی واگرد، یک گام تأیید می‌گیرد. پس از آن، کش PR باطل می‌شود، وضعیتش به ادغام‌شده می‌چرخد و رویداد PullRequestStatusChanged با وضعیت merged برمی‌خیزد. آن رویداد worktree موقت «باز کردن در ویرایشگر» را آزاد می‌کند و دو پایپ‌لاین از پیش تعریف‌شده را آغاز می‌کند: Stale repository cleanup، که worktreeهای کهنه و پوشه‌های گفتگوی PR را برمی‌دارد، و Release notes، که یک ورودی تغییرنگار پیش‌نویس می‌کند.

منوی سرریز ⋯ در زبانهٔ نمای کلی حامل پرسش از AI است، که پایپ‌لاین از پیش تعریف‌شدهٔ pr_review را برای این PR شروع می‌کند. تنها تا وقتی PR باز است نمایان می‌شود. برای اینکه ببینید این پایپ‌لاین چه می‌کند و چگونه یافته‌هایش را منتشر می‌کند، استفاده از بازبینی مبتنی بر هوش مصنوعی را ببینید، و برای مدل قطعی گروه‌ها و محورها، محاسبهٔ بازبینی.

Control Center همچنین PRهایی را درون‌بری می‌کند که انسان‌ها بیرون از برنامه باز کرده‌اند. جریان بازبینی بالا یکسان است. PRهای بیرونی با سرویس نظرسنجی PR شناسایی می‌شوند.