Commit & Close: از داخل IDE کامیت کن، push کن و تسک را ببند
کار را یکبار تمام کن. Vi تغییرات را stage میکند، commit مرتبط با تسک میسازد، به ریموت push میکند، تسک را میبندد، گردشکار را جلو میبرد و بردِ پروژه را بهروز میکند — یک اکشن جای کلِ مراسمِ «بهروزرسانی تیکت» را میگیرد.
در VS Code تمام شد. برد خودکار بهروز شد — دموی ۴۰ ثانیهایِ Commit & Close.
کد تمام شده. برد خبر ندارد.
توسعهدهنده کد را تمام میکند، اما بردِ پروژه کهنه میماند — چون بهروزرسانیِ تیکت یک قدمِ جدا و دستی در تبِ مرورگر است. یکی باید تیکت را پیدا کند، وضعیتش را عوض کند، یادداشت بنویسد و به ادیتور برگردد. این را در هر تسک، هر توسعهدهنده و هر روز ضرب کن — ترکر میشود داستانی که مدیرها در استندآپ دنبالش میدوند.
Commit & Close چطور کار میکند
توسعهدهنده تسک را در IDE انتخاب میکند — همان یک تسکِ در حال انجامش.
وقتی کد آماده شد، تسک را Done علامت میزند — همچنان داخلِ IDE.
Vi تغییرات را stage میکند و یک commit مرتبط با تسک میسازد، مثل «[#142] Fix auth bug».
Vi کامیت را به ریموت push میکند — بخشی از همان اکشن.
Vi تسک را میبندد و در گردشکار جلو میبرد — به Review، تأیید یا Done.
بردِ پروژه خودکار بهروز میشود. مدیرها وضعیتِ واقعی را میبینند — بدونِ دنبالکردن.
چرا مهم است
توسعهدهنده در IDE میماند
بدونِ جابهجایی بین تبها و بدونِ گشتن دنبالِ تیکت. کلِ چرخهی تسک همانجایی اتفاق میافتد که کد نوشته میشود.
مدیرها وضعیتِ واقعی را میبینند
برد همان چیزی را نشان میدهد که واقعاً تحویل شده، چون بهروزکردنش بخشی از تحویل است — نه لطفی که کسی باید یادش بماند.
Git و گردشکار به هم وصل میمانند
هر commit به تسکش گره خورده، پس تاریخچه، ریویو و تیکتها همیشه همخطاند.
context switching کمتر
بهروزرسانیِ دستیِ کمترِ تیکت یعنی زمانِ کدنویسیِ بیوقفهی بیشتر — هر روز، برای هر توسعهدهنده.
یک تسکِ فعال برای هر توسعهدهنده
Vi یک مدلِ اجرای متمرکز را اعمال میکند: هر توسعهدهنده در هر لحظه فقط یک تسکِ در حال انجام دارد. Commit & Close همان تسک را تمام میکند و جا را برای بعدی باز میکند. نتیجه: کارِ ناتمامِ موازیِ کمتر، تصویرِ دقیقِ بارِ کاری، و بردی که «در حال انجام» در آن واقعاً یعنی در حال انجام.
کدت هرگز از دستگاهت خارج نمیشود
عملیاتِ Gitی که Commit & Close انجام میدهد — stage، commit و push — بهصورت محلی روی دستگاهِ توسعهدهنده و از طریق افزونهی IDEِ Vi اجرا میشود. Vi هرگز به سورسکد دسترسی ندارد و آن را ذخیره یا آپلود نمیکند. فقط گردشکارِ تسک را هماهنگ میکند؛ مخزن مالِ خودت میماند.
Commit & Close را کجا میتوانی استفاده کنی
- VS Code — در دسترس
- RAD Studio — در حال بررسی
- Visual Studio — در حال تست
- Lazarus — در حال تست
- JetBrains IDEs — برنامهریزیشده
با VS Code کار میکنی؟ ببین Vi چطور نقشِ VS Code project manager را بازی میکند — از تسک تا کامیت تا بستهشدن.
پرسشهای پرتکرار
Commit & Close چیست؟
Commit & Close اکشنِ اختصاصیِ گردشکارِ Vi است: توسعهدهنده تسک را از داخل IDE به Done میبرد و Vi تغییرات را stage میکند، commit مرتبط با تسک میسازد، به ریموت push میکند، تسک را میبندد و بردِ پروژه را خودکار بهروز میکند.
آیا Vi به سورسکدِ من دسترسی دارد؟
نه. همهی عملیاتِ Git بهصورت محلی روی دستگاهِ توسعهدهنده و از طریق افزونهی IDE اجرا میشود. Vi هرگز سورس را ذخیره یا آپلود نمیکند — فقط گردشکارِ تسک را هماهنگ میکند.
آیا Commit & Close push هم میکند؟
بله. Commit & Close کامیتِ مرتبط با تسک را میسازد و در همان اکشن به ریموت push میکند. عملیاتِ Git بهصورت محلی روی دستگاهِ توسعهدهنده و از طریق افزونهی IDEِ Vi اجرا میشود.
آیا یک توسعهدهنده میتواند چند تسکِ در حال انجام داشته باشد؟
نه. Vi برای هر توسعهدهنده فقط یک تسکِ در حال انجام مجاز میداند. این قانونِ تمرکز از کارِ ناتمامِ موازی جلوگیری میکند و برد را تصویری دقیق از آنچه واقعاً در حال انجام است نگه میدارد.
بعد از Done شدنِ تسک چه اتفاقی میافتد؟
Vi فایلهای تغییرکرده را stage میکند، commit مرتبط با تسک میسازد، به ریموت push میکند، تسک را میبندد و در گردشکار جلو میبرد — مثلاً به مرحلهی Review با زنجیرهی تأییدش، اگر گردشکارت چنین مرحلهای داشته باشد.
آیا Commit & Close بردِ پروژه را بهروز میکند؟
بله. تسک به Done (یا مرحلهی بعدیِ گردشکار) میرود و بردِ پروژه خودکار بهروز میشود — مدیرها وضعیتِ واقعی را میبینند بدونِ اینکه کسی تیکتی را در مرورگر ویرایش کند.
آیا توسعهدهندهها هنوز میتوانند دستی push کنند؟
بله. اگر گردشکارت به pushهای جدا یا گروهی نیاز دارد، توسعهدهندهها همچنان میتوانند از پنلِ Git و روالِ عادیِ Git استفاده کنند.
آیا Commit & Close فقط یک قابلیتِ Git است؟
نه. Commit & Close بخشی از گردشکارِ مدیریتِ پروژهی Vi است: اتمامِ کد را به وضعیتِ تسک، حرکتِ گردشکار، بهروزرسانیِ برد و دیدِ پروژه وصل میکند.
بیشتر بخوان: مدیریت پروژهی Git-aware · مدیریت پروژه در VS Code · مدیریت پروژه در IDE · امنیتِ سورسکد