GIT-REVERT(1) Git Manual GIT-REVERT(1) نام (NAME) git-revert - برگرداندن تغییرات برخی کامیت‌های موجود خلاصه دستور (SYNOPSIS) git revert [--[no-]edit] [-n] [-m ] [-s] [-S[]] ... git revert (--continue | --skip | --abort | --quit) توضیحات (DESCRIPTION) با دریافت یک یا چند کامیت موجود، تغییراتی را که وصله‌های مربوطه ایجاد کرده‌اند بازمی‌گرداند و چند کامیت جدید برای ثبت این بازگردانی ایجاد می‌کند. این کار نیازمند آن است که درخت کاری شما تمیز باشد (هیچ تغییری نسبت به کامیت HEAD وجود نداشته باشد). نکته: دستور git revert برای ثبت کامیت‌های جدید جهت خنثی کردن اثر برخی کامیت‌های قبلی (اغلب فقط یک کامیت معیوب) استفاده می‌شود. اگر می‌خواهید تمام تغییرات کامیت‌نشده در دایرکتوری کاری خود را دور بیندازید، باید به git-reset(1) و به‌ویژه گزینه --hard مراجعه کنید. اگر می‌خواهید فایل‌های خاصی را همان‌طور که در کامیت دیگری بودند استخراج کنید، باید به git- restore(1) و به‌ویژه گزینه --source مراجعه کنید. هنگام استفاده از این جایگزین‌ها دقت کنید، زیرا هر دوی آن‌ها تغییرات کامیت‌نشده در دایرکتوری کاری شما را نادیده گرفته و حذف می‌کنند. برای آشنایی با تفاوت‌های میان این سه دستور، بخش "Reset, restore and revert" را در git(1) ببینید. گزینه‌ها (OPTIONS) ... کامیت‌هایی که باید تغییراتشان برگردانده شود. برای فهرست کامل‌تری از روش‌های نگارش نام کامیت‌ها، به gitrevisions(7) مراجعه کنید. مجموعه‌ای از کامیت‌ها را نیز می‌توان مشخص کرد، اما به‌طور پیش‌فرض هیچ پیمایشی انجام نمی‌شود؛ به git-rev-list(1) و گزینه --no-walk آن مراجعه کنید. -e, --edit با این گزینه، git revert به شما امکان می‌دهد پیام کامیت را پیش از ثبت کامیتِ بازگردانی ویرایش کنید. اگر دستور را از یک ترمینال اجرا کنید، این رفتار پیش‌فرض است. -m parent-number, --mainline parent-number معمولاً نمی‌توانید یک کامیت ادغام (merge) را برگردانید زیرا مشخص نیست کدام شاخه ادغام باید به عنوان خط اصلی (mainline) در نظر گرفته شود. این گزینه شماره والد (شروع از ۱) خط اصلی را مشخص کرده و به revert اجازه می‌دهد تا تغییرات را نسبت به والد مشخص‌شده خنثی کند. برگرداندن یک کامیت ادغام اعلام می‌کند که شما هرگز تغییرات درختی واردشده توسط آن ادغام را نخواهید خواست. در نتیجه، ادغام‌های بعدی تنها تغییرات درختی را وارد می‌کنند که توسط کامیت‌هایی ایجاد شده‌اند که از نیاکان ادغامِ بازگردانده‌شده قبلی نیستند. این ممکن است چیزی باشد یا نباشد که شما می‌خواهید. برای جزئیات بیشتر، راهنمای revert-a-faulty-merge How-To[1] را ببینید. --no-edit با این گزینه، git revert ویرایشگر پیام کامیت را باز نخواهد کرد. --cleanup= این گزینه تعیین می‌کند که پیام کامیت پیش از ارسال به سازوکار کامیت، چگونه پاک‌سازی شود. برای جزئیات بیشتر به git-commit(1) مراجعه کنید. به‌ویژه، اگر مقدار برابر با scissors باشد، در صورت بروز تعارض، خط برش (قیچی) به MERGE_MSG اضافه می‌شود. -n, --no-commit معمولاً این دستور به‌طور خودکار کامیت‌هایی با پیام‌های گزارش ثبت می‌کند که نشان می‌دهند کدام کامیت‌ها برگردانده شده‌اند. این فلگ تغییرات لازم برای بازگرداندن کامیت‌های نام‌برده را بر روی درخت کاری و ایندکس شما اعمال می‌کند، اما کامیت‌ها را ثبت نمی‌کند. علاوه بر این، هنگامی که از این گزینه استفاده می‌شود، نیازی نیست ایندکس شما با کامیت HEAD مطابقت داشته باشد؛ عملیات بازگردانی نسبت به وضعیت ابتدایی ایندکس شما انجام می‌شود. این گزینه هنگامی مفید است که می‌خواهید اثر بیش از یک کامیت را به‌صورت پشت سر هم بر روی ایندکس خود بازگردانید. -S[], --gpg-sign[=], --no-gpg-sign امضای کامیت‌ها با GPG. آرگومان keyid اختیاری است و به‌طور پیش‌فرض از شناسه کامیت‌کننده استفاده می‌کند؛ در صورت مشخص شدن، باید بدون فاصله به گزینه بچسبد. گزینه --no-gpg-sign برای لغو متغیر پیکربندی commit.gpgSign و همچنین گزینه پیشین --gpg-sign مفید است. -s, --signoff یک خط پایانی Signed-off-by به انتهای پیام کامیت اضافه می‌کند. برای اطلاعات بیشتر گزینه signoff را در git-commit(1) ببینید. --strategy= استفاده از استراتژی ادغام داده‌شده. تنها باید یک‌بار استفاده شود. برای جزئیات، بخش MERGE STRATEGIES را در git-merge(1) ببینید. -X