.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "GIT-REVISE" "1" "Feb 22, 2026" "0.8.0" "git-revise" .SH "نام (NAME)" git-revise \- به‌روزرسانی، تفکیک و چیدمان کارآمد کامیت‌های گیت .SH "خلاصه دستور (SYNOPSIS)" .sp \fIgit revise\fP [] [] .SH "توضیحات (DESCRIPTION)" .sp دستور \fBgit revise\fP یک زیردستور \fBgit(1)\fP برای به‌روزرسانی، تفکیک و بازآرایی کارآمد کامیت‌ها است. این ابزار به شدت از \fBgit\-rebase(1)\fP الهام گرفته است، اما تلاش می‌کند برای گردش‌های کاری مبتنی بر دسته وصله (patch\-stack) کارآمدتر و ارگونومیک‌تر باشد. .sp به‌طور پیش‌فرض، \fBgit revise\fP تغییرات استیج‌شده (staged) را بر روی اعمال کرده و \fBHEAD\fP را به‌روز می‌کند تا به تاریخچه بازبینی‌شده اشاره کند. همچنین این ابزار از تفکیک کامیت‌ها و بازنویسی پیام کامیت‌ها پشتیبانی می‌کند. .sp برخلاف \fBgit\-rebase(1)\fP ، دستور \fBgit revise\fP از تغییر دایرکتوری کاری و وضعیت ایندکس خودداری می‌کند، تمامی ادغام‌ها را در حافظه (in\-memory) انجام می‌دهد و تنها در صورت لزوم آن‌ها را روی دیسک می‌نویسد. این امر به آن اجازه می‌دهد روی پایگاه‌های کد بزرگ به‌طور چشمگیری سریع‌تر عمل کند و از باطل شدن بیلدها جلوگیری نماید. .sp اگر \fI\%\-\-autosquash\fP یا \fI\%\-\-interactive\fP مشخص شود، آرگومان می‌تواند حذف شود یا با مقدار ویژه \fI:option:\-\-root\fP\& داده شود. اگر حذف شود، \fBgit revise\fP محدوده‌ای از کامیت‌های منتشرنشده روی شاخه جاری را در نظر می‌گیرد. اگر به صورت \fI:option:\-\-root\fP داده شود، تمام کامیت‌ها از جمله کامیت ریشه در نظر گرفته می‌شوند. .SH "گزینه‌ها (OPTIONS)" .SS "گزینه‌های عمومی (General options)" .INDENT 0.0 .TP .B \-a, \-\-all استیج کردن تغییرات فایل‌های ردیابی‌شده پیش از بازبینی. .UNINDENT .INDENT 0.0 .TP .B \-p, \-\-patch استیج تعاملی بخش‌ها (hunks) از درخت کاری پیش از بازبینی. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-index نادیده گرفتن تغییرات استیج‌شده در ایندکس. .UNINDENT .INDENT 0.0 .TP .B \-\-reauthor بازنشانی نویسنده کامیت هدف به کاربر جاری. .UNINDENT .INDENT 0.0 .TP .B \-\-ref شاخه کاری جهت به‌روزرسانی؛ پیش‌فرض \fBHEAD\fP\& است. .UNINDENT .INDENT 0.0 .TP .B \-S, \-\-gpg\-sign, \-\-no\-gpg\-sign امضای GPG کامیت‌ها. این گزینه بر هر دو پیکربندی گیت \fBcommit.gpgSign\fP و \fBrevise.gpgSign\fP اولویت دارد. .UNINDENT .SS "حالت‌های اصلی عملیات (Main modes of operation)" .INDENT 0.0 .TP .B \-i, \-\-interactive به جای اعمال تغییرات استیج‌شده بر روی ، یک فهرست کارها (todo list) از اقداماتی که باید بر روی کامیت‌های پس از انجام شوند را ویرایش می‌کند. بخش \fI\%حالت تعاملی (INTERACTIVE MODE)\fP\& را ببینید. .UNINDENT .INDENT 0.0 .TP .B \-\-autosquash, \-\-no\-autosquash به جای اعمال مستقیم تغییرات استیج‌شده به ، اقدامات fixup یا squash علامت‌گذاری‌شده با \fBfixup!\fP یا \fBsquash!\fP را بین و \fBHEAD\fP جاری به‌طور خودکار انجام می‌دهد. برای اطلاعات بیشتر درباره نحوه عملکرد این اقدامات، بخش \fI\%حالت تعاملی (INTERACTIVE MODE)\fP\& را ببینید. .sp این کامیت‌ها معمولاً با \fBgit commit \-\-fixup=\fP یا \fBgit commit \-\-squash=\fP ایجاد می‌شوند و هدف را با سطر نخست پیام کامیت آن شناسایی می‌کنند. .sp این گزینه می‌تواند با \fI\%\-\-interactive\fP ترکیب شود تا کارهای تولیدشده پیش از اجرا قابل تغییر و ویرایش باشند. .sp اگر گزینه \fI\%\-\-autosquash\fP به‌طور پیش‌فرض با استفاده از یک متغیر پیکربندی فعال شده باشد، می‌توان از گزینه \fI\%\-\-no\-autosquash\fP برای لغو و غیرفعال کردن این تنظیم استفاده کرد. بخش \fI\%پیکربندی (CONFIGURATION)\fP\& را ببینید. .UNINDENT .INDENT 0.0 .TP .B \-c, \-\-cut انتخاب تعاملی قطعات تغییر (hunks) از . قطعات انتخاب‌شده بلافاصله پس از هدف به یک کامیت دوم تفکیک می‌شوند. .sp پس از تکمیل تفکیک، پیام‌های هر دو کامیت ویرایش می‌شوند. .sp برای یادگیری نحوه کار با این حالت، بخش «Interactive Mode» از \fBgit\-add(1)\fP را ببینید. .UNINDENT .INDENT 0.0 .TP .B \-e, \-\-edit پس از اعمال تغییرات استیج‌شده، پیام کامیت را ویرایش می‌کند. .sp این گزینه می‌تواند با \fI\%\-\-interactive\fP ترکیب شود تا امکان ویرایش پیام‌های کامیت درون فهرست کارها فراهم شود. برای اطلاعات بیشتر، بخش \fI\%حالت تعاملی (INTERACTIVE MODE)\fP\& را ببینید. .UNINDENT .INDENT 0.0 .TP .B \-m , \-\-message استفاده از مشخص‌شده به عنوان پیام کامیت جدید برای . اگر چندین گزینه \fI\%\-m\fP داده شود، مقادیر آن‌ها به عنوان بندهای جداگانه به یکدیگر الحاق می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-\-version نمایش اطلاعات نسخه و خروج. .UNINDENT .SH "پیکربندی (CONFIGURATION)" .sp پیکربندی توسط \fBgit\-config(1)\fP\& مدیریت می‌شود. .INDENT 0.0 .TP .B revise.autoSquash اگر روی true تنظیم شود، هر زمان که \fI\%\-\-interactive\fP مشخص شده باشد، \fI\%\-\-autosquash\fP را نیز در بر می‌گیرد. با \fI\%\-\-no\-autosquash\fP لغو می‌شود. مقدار پیش‌فرض false است. اگر تنظیم نشده باشد، مقدار \fBrebase.autoSquash\fP به جای آن استفاده می‌شود. .UNINDENT .INDENT 0.0 .TP .B revise.gpgSign اگر روی true تنظیم شود، کامیت‌های جدید با GPG امضا می‌شوند؛ مقدار پیش‌فرض false است. این تنظیم پیکربندی اصلی گیت \fBcommit.gpgSign\fP را لغو می‌کند و می‌تواند توسط گزینه‌های خط فرمان \fB\-\-gpg\-sign\fP و \fB\-\-no\-gpg\-sign\fP\& لغو و بازنویسی شود. .SH "حل تداخل (CONFLICT RESOLUTION)" .sp هنگامی که تداخلی رخ می‌دهد، \fBgit revise\fP تلاش می‌کند آن را به‌طور خودکار با استفاده از سازوکارهای استاندارد گیت حل کند. اگر حل خودکار با شکست مواجه شود، از کاربر خواسته می‌شود تداخل‌ها را به صورت دستی حل کند. .sp در حال حاضر از \fBgit\-mergetool(1)\fP برای حل تداخل‌ها پشتیبانی نمی‌شود. .sp هیچ تلاشی برای تشخیص تغییر نام فایل‌ها یا پوشه‌ها انجام نمی‌شود. \fBgit revise\fP ممکن است در میان تغییر نام‌ها نتایج نامطلوبی ایجاد کند. هنگامی که ردیابی تغییر نام اهمیت دارد، از حالت تعاملی \fBgit\-rebase(1)\fP استفاده کنید. .SH "نکات (NOTES)" .sp یک اجرای موفق \fBgit revise\fP یک ورودی منفرد به reflog اضافه می‌کند، که اجازه می‌دهد با دستور \fBgit reset @{1}\fP\& لغو (undo) شود. دستورهای ناموفق \fBgit revise\fP مخزن شما را تا حد زیادی بدون تغییر باقی می‌گذارند. .sp هیچ کامیت ادغامی نباید بین کامیت هدف و \fBHEAD\fP وجود داشته باشد، زیرا بازنویسی آن‌ها پشتیبانی نمی‌شود. .sp برای اطلاعات بیشتر درباره پیامدهای اصلاح تاریخچه در مخزنی که به اشتراک می‌گذارید، \fBgit\-rebase(1)\fP را ببینید. .SH "حالت تعاملی (INTERACTIVE MODE)" .sp دستور \fBgit revise\fP از یک حالت تعاملی الهام‌گرفته از حالت تعاملی \fBgit\-rebase(1)\fP پشتیبانی می‌کند. .sp این حالت با آخرین کامیتی که می‌خواهید «همان‌طور که هست» حفظ شود شروع می‌شود: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C git revise \-i .ft P .fi .UNINDENT .UNINDENT .sp هدف ویژه \fI\-\-root\fP برای بازبینی همه‌چیز تا کامیت ریشه در دسترس است: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C git revise \-i \-\-root .ft P .fi .UNINDENT .UNINDENT .sp یک ویرایشگر به همراه کامیت‌های موجود در شاخه جاری شما پس از کامیت داده‌شده باز خواهد شد. اگر ایندکس دارای هرگونه تغییر استیج‌شده اما کامیت‌نشده باشد، یک ورودی \fB\fP نیز وجود خواهد داشت. .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C pick 8338dfa88912 Oneline summary of first commit pick 735609912343 Summary of second commit index 672841329981 .ft P .fi .UNINDENT .UNINDENT .sp این کامیت‌ها را می‌توان دوباره مرتب کرد تا ترتیبی که در تاریخچه ظاهر می‌شوند تغییر کند. علاوه بر این، دستورهای \fBpick\fP و \fBindex\fP می‌توانند برای تغییر رفتارشان جایگزین شوند. در صورت وجود، دستورهای \fBindex\fP باید در انتهای فهرست قرار گیرند، یعنی نمی‌توان پس از آن‌ها دستورهای غیر index قرار داد. .sp اگر \fI\%\-e\fP مشخص شده باشد، پیام کامل کامیت گنجانده خواهد شد و هر سطر دستور با \fB++\fP\& آغاز می‌شود. هرگونه تغییر اعمال‌شده در پیام‌های کامیت درون این فایل، بر روی کامیت مورد نظر اعمال خواهد شد و امکان ویرایش همزمان پیام‌های کامیت در مرحله ویرایش فهرست کارها (todo) را فراهم می‌سازد. .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C ++ pick 8338dfa88912 Oneline summary of first commit Body of first commit ++ pick 735609912343 Summary of second commit Body of second commit ++ index 672841329981 .ft P .fi .UNINDENT .UNINDENT .sp دستورهای زیر در تمام حالت‌های تعاملی پشتیبانی می‌شوند: .INDENT 0.0 .TP .B index این تغییرات را کامیت نمی‌کند، بلکه آن‌ها را در ایندکس به صورت استیج‌شده باقی می‌گذارد. سطرهای index باید در انتهای فایل قرار گیرند. .UNINDENT .INDENT 0.0 .TP .B pick استفاده از کامیت داده‌شده همان‌طور که هست در تاریخچه. هنگامی که روی ورودی تولیدشده \fBindex\fP اعمال شود، کامیت دارای پیام \fB\fP\& خواهد بود. .UNINDENT .INDENT 0.0 .TP .B squash اضافه کردن تغییرات کامیت به کامیت قبلی و باز کردن ویرایشگر برای ادغام پیام‌های کامیت‌ها. .UNINDENT .INDENT 0.0 .TP .B fixup مشابه squash، اما به جای ویرایش، پیام این کامیت دور ریخته می‌شود. .UNINDENT .INDENT 0.0 .TP .B reword باز کردن ویرایشگر برای ویرایش پیام کامیت. .UNINDENT .INDENT 0.0 .TP .B cut انتخاب تعاملی قطعات تغییر (hunks) از کامیت. قطعات انتخاب‌شده بلافاصله پس از آن به یک کامیت دوم تفکیک می‌شوند. .sp پس از تکمیل تفکیک، پیام‌های هر دو کامیت ویرایش می‌شوند. .sp برای یادگیری نحوه کار با این حالت، بخش «Interactive Mode» از \fBgit\-add(1)\fP را ببینید. .UNINDENT .SH "گزارش باگ‌ها (REPORTING BUGS)" .sp لطفاً اشکالات و درخواست‌های قابلیت را به سامانه ردیابی اشکالات در \fI\%https://github.com/mystor/git\-revise/issues\fP\& گزارش دهید. .sp کد، مستندات و سایر مشارکت‌ها نیز مورد استقبال قرار می‌گیرند. .SH "همچنین ببینید (SEE ALSO)" .sp \fBgit(1)\fP \fBgit\-rebase(1)\fP \fBgit\-add(1)\fP .SH "حق نشر (COPYRIGHT)" 2018-2026, Nika Layzell .\" Generated by docutils manpage writer. .