Commit & Close

Commit & Close: مرحله‌ات را از داخلِ IDE تمام کن — کامیت، push و رفتنِ تسک به مرحله‌ی بعد

سهمِ خودت را یک‌بار تمام کن. وقتی تسک را در IDE «Done» می‌زنی، Vi تغییرات را با شماره‌ی تسک کامیت می‌کند، اگر مخزن ریموتِ Git داشته باشد push می‌کند، مرحله‌ی جاریِ تو را پایان‌یافته علامت می‌زند، تسک را به مرحله‌ی بعدیِ گردش‌کار می‌برد و برد را به‌روز می‌کند — یک اکشن جای کلِ مراسمِ «به‌روزرسانی تیکت» را می‌گیرد.

در VS Code تمام شد. برد خودکار به‌روز شد — دموی ۴۰ ثانیه‌ایِ Commit & Close.

کد تمام شده. برد خبر ندارد.

توسعه‌دهنده کد را تمام می‌کند، اما بردِ پروژه کهنه می‌ماند — چون به‌روزرسانیِ تیکت یک قدمِ جدا و دستی در تبِ مرورگر است. یکی باید تیکت را پیدا کند، وضعیتش را عوض کند، یادداشت بنویسد و به ادیتور برگردد. این را در هر تسک، هر توسعه‌دهنده و هر روز ضرب کن — ترکر می‌شود داستانی که مدیرها در استندآپ دنبالش می‌دوند.

Commit & Close چطور کار می‌کند

1

توسعه‌دهنده تسک را در IDE انتخاب می‌کند و Start را می‌زند — این تسک همان یک تسکِ در حال انجامِ او می‌شود. اگر تغییراتِ کامیت‌نشده‌ای از کارِ دیگری مانده باشد، Vi پیشنهاد می‌دهد اول stash شوند تا داخلِ کامیتِ این تسک نروند.

2

وقتی سهمِ او از کار آماده شد، تسک را Done علامت می‌زند — همچنان داخلِ IDE.

3

Vi فهرستِ فایل‌های تغییرکرده را با تیک نشان می‌دهد — فایل‌هایی که از قبل stage کرده‌ای تیک‌خورده‌اند، وگرنه همه — و با دقیقاً همان فایل‌هایی که تیک‌خورده می‌مانند یک کامیتِ مرتبط با تسک می‌سازد، مثل «[#142] Fix auth bug».

4

اگر مخزن ریموتِ Git داشته باشد، Vi کامیت را به آن push می‌کند — بخشی از همان اکشن. اگر push شکست بخورد، تسک جلو نمی‌رود: با وضعیتِ «منتظرِ push» در همان مرحله می‌ماند تا دوباره Done را بزنی و push موفق شود. اگر push فقط به این دلیل رد شود که هم‌تیمی زودتر push کرده، Vi دکمه‌ی «Pull and push again» را پیشنهاد می‌دهد: طبقِ تنظیمِ Git خودت pull می‌کند (پیش‌فرض merge)، push می‌کند و تسک را جلو می‌برد؛ اگر تعارض پیش بیاید، حلش با خودت است.

5

Vi مرحله‌ی جاریِ توسعه‌دهنده را پایان‌یافته علامت می‌زند و تسک را به مرحله‌ی بعدیِ گردش‌کار می‌برد — Review، QA، تأیید یا هر مرحله‌ای که بعد از آن تعریف شده. تسک فقط وقتی بسته می‌شود که از مرحله‌ی نهایی عبور کند.

6

بردِ پروژه خودکار به‌روز می‌شود. مدیرها وضعیتِ واقعی را می‌بینند — بدونِ دنبال‌کردن.

چرا مهم است

توسعه‌دهنده در IDE می‌ماند

بدونِ جابه‌جایی بین تب‌ها و بدونِ گشتن دنبالِ تیکت. کلِ چرخه‌ی تسک همان‌جایی اتفاق می‌افتد که کد نوشته می‌شود.

مدیرها وضعیتِ واقعی را می‌بینند

برد همان چیزی را نشان می‌دهد که واقعاً تحویل شده، چون به‌روزکردنش بخشی از تحویل است — نه لطفی که کسی باید یادش بماند.

Git و گردش‌کار به هم وصل می‌مانند

هر commit به تسکش گره خورده، پس تاریخچه، ریویو و تیکت‌ها همیشه هم‌خط‌اند.

context switching کمتر

به‌روزرسانیِ دستیِ کمترِ تیکت یعنی زمانِ کدنویسیِ بی‌وقفه‌ی بیشتر — هر روز، برای هر توسعه‌دهنده.

یک تسکِ فعال برای هر توسعه‌دهنده

Vi یک مدلِ اجرای متمرکز را اعمال می‌کند: هر توسعه‌دهنده در هر لحظه فقط یک تسکِ در حال انجام دارد. Commit & Close سهمِ توسعه‌دهنده از همان تسک را تمام می‌کند و جا را برای بعدی باز می‌کند. نتیجه: کارِ ناتمامِ موازیِ کمتر، تصویرِ دقیقِ بارِ کاری، و بردی که «در حال انجام» در آن واقعاً یعنی در حال انجام.

کدت هرگز از دستگاهت خارج نمی‌شود

عملیاتِ Gitی که Commit & Close انجام می‌دهد — stage، commit و push — به‌صورت محلی روی دستگاهِ توسعه‌دهنده و از طریق افزونه‌ی IDEِ Vi اجرا می‌شود. Vi هرگز به سورس‌کد دسترسی ندارد و آن را ذخیره یا آپلود نمی‌کند. فقط گردش‌کارِ تسک را هماهنگ می‌کند؛ مخزن مالِ خودت می‌ماند.

Commit & Close را کجا می‌توانی استفاده کنی

با VS Code کار می‌کنی؟ ببین Vi چطور نقشِ VS Code project manager را بازی می‌کند — از تسک تا کامیت تا مرحله‌ی بعدیِ گردش‌کار.

پرسش‌های پرتکرار

Commit & Close چیست؟

Commit & Close اکشنِ گردش‌کارِ Vi برای تمام‌کردنِ سهمِ تو از یک تسک است: توسعه‌دهنده تسک را از داخلِ IDE به Done می‌برد و Vi یک commit مرتبط با تسک می‌سازد، اگر ریموتِ Git تعریف شده باشد push می‌کند، مرحله‌ی جاریِ توسعه‌دهنده را پایان‌یافته علامت می‌زند، تسک را به مرحله‌ی بعد می‌برد و بردِ پروژه را خودکار به‌روز می‌کند.

آیا Vi به سورس‌کدِ من دسترسی دارد؟

نه. همه‌ی عملیاتِ Git به‌صورت محلی روی دستگاهِ توسعه‌دهنده و از طریق افزونه‌ی IDE اجرا می‌شود. Vi هرگز سورس را ذخیره یا آپلود نمی‌کند — فقط گردش‌کارِ تسک را هماهنگ می‌کند.

آیا Commit & Close تغییرات را به Git پوش می‌کند؟

بله — اگر برای مخزن ریموتِ Git تعریف شده باشد، Commit & Close کامیتِ مرتبط با تسک را در همان اکشن push می‌کند، پس توسعه‌دهنده برای کامیت و push هرگز از IDE بیرون نمی‌رود؛ بدونِ ریموت، کامیت محلی می‌ماند. اگر push شکست بخورد، تسک تا موفق شدنِ آن در همان مرحله می‌ماند، پس نفرِ بعدیِ گردش‌کار هرگز کاری را تحویل نمی‌گیرد که کدش روی ریموت نیست. اگر فقط به این دلیل رد شده باشد که هم‌تیمی زودتر push کرده، یک کلیک روی «Pull and push again» کار را pull و push می‌کند و تسک را جلو می‌برد. تمامِ عملیاتِ Git به‌صورت محلی روی دستگاهِ توسعه‌دهنده و از طریقِ افزونه‌ی IDEِ Vi اجرا می‌شود؛ این افزونه امروز برای VS Code، Visual Studio، RAD Studio 13 و Lazarus در دسترس است.

آیا یک توسعه‌دهنده می‌تواند چند تسکِ در حال انجام داشته باشد؟

نه. Vi برای هر توسعه‌دهنده فقط یک تسکِ در حال انجام مجاز می‌داند. این قانونِ تمرکز از کارِ ناتمامِ موازی جلوگیری می‌کند و برد را تصویری دقیق از آنچه واقعاً در حال انجام است نگه می‌دارد.

بعد از Done شدنِ تسک چه اتفاقی می‌افتد؟

Done یعنی پایانِ کارِ توسعه‌دهنده در مرحله‌ی جاریِ گردش‌کار، نه پایانِ تسک. Vi تغییرات را با شماره‌ی تسک کامیت می‌کند، اگر ریموتِ Git تعریف شده باشد push می‌کند و تسک را به مرحله‌ی بعد می‌برد — مثلاً به مرحله‌ی Review با زنجیره‌ی تأییدش، اگر گردش‌کارت چنین مرحله‌ای داشته باشد. تسک فقط وقتی بسته می‌شود که از مرحله‌ی نهاییِ گردش‌کار عبور کند.

آیا Commit & Close بردِ پروژه را به‌روز می‌کند؟

بله. تسک به مرحله‌ی بعدیِ گردش‌کار می‌رود و بردِ پروژه خودکار به‌روز می‌شود — مدیرها وضعیتِ واقعی را می‌بینند بدونِ اینکه کسی تیکتی را در مرورگر ویرایش کند.

آیا توسعه‌دهنده‌ها هنوز می‌توانند دستی push کنند؟

بله. Commit & Close جای ابزارهای معمولِ Git را نمی‌گیرد — توسعه‌دهنده‌ها هر وقت بخواهند می‌توانند از ترمینال یا امکاناتِ Gitِ خودِ IDE کامیت و push کنند، و افزونه‌های Vi برای RAD Studio و Lazarus یک پنلِ Git هم دارند. کامیت یا pushِ معمولی تسک را جابه‌جا نمی‌کند؛ فقط Done این کار را می‌کند.

آیا Commit & Close فقط یک قابلیتِ Git است؟

نه. Commit & Close بخشی از گردش‌کارِ مدیریتِ پروژه‌ی Vi است: اتمامِ کد را به وضعیتِ تسک، حرکتِ گردش‌کار، به‌روزرسانیِ برد و دیدِ پروژه وصل می‌کند.

بیشتر بخوان: از درخواستِ مشتری تا کدِ تحویل‌شده · مدیریت پروژه‌ی Git-aware · مدیریت پروژه در VS Code · مدیریت پروژه در IDE · امنیتِ سورس‌کد

تسکِ بعدی‌ات را از داخلِ IDE پیش ببر

در دو دقیقه رایگان شروع کن. بدونِ نیاز به کارت بانکی.

شروع رایگان