آموزش git | برگشت به نسخه قبلی (Revert)
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
بازگشت به نسخه قبلی (Revert)
بازگشت به نسخه قبلی یکی از مهمترین قابلیتهای Git است که به شما اجازه میدهد تغییرات اشتباه را لغو کنید. در این بخش با دستور git revert آشنا میشوید که برخلاف git reset، تاریخچه تغییرات را حفظ میکند و یک commit جدید برای برگشت به حالت قبل ایجاد میکند.
چرا از revert به جای reset استفاده کنیم؟
وقتی شما با دیگران روی یک پروژه کار میکنید، نباید تاریخچه commitها را پاک کنید (مثل کاری که git reset انجام میدهد). git revert یک commit جدید اضافه میکند که تغییرات ناخواسته را خنثی میکند، بنابراین بقیه اعضای تیم میتوانند بدون سردرگمی به کار ادامه دهند.
مراحل استفاده از git revert:
-
شناسایی commit مورد نظر
ابتدا باید هش (hash) commitای را که میخواهید به آن برگردید پیدا کنید. این کار را با دستورgit log --onelineانجام دهید:git log --onelineخروجی مشابه زیر خواهد بود:
a1b2c3d اصلاح باگ e4f5g6h افزودن ویژگی جدید i7j8k9l commit اولیههش commit مورد نظر را یادداشت کنید (مثلاً
a1b2c3d). -
اجرای دستور revert
برای برگشت به commitای که بعد از آن تغییرات اشتباه رخ داده است، دستور زیر را وارد کنید:git revert <hash-commit>مثال:
git revert a1b2c3dGit یک commit جدید ایجاد میکند که تغییرات commit مشخص شده را معکوس میکند. یک ویرایشگر متنی باز میشود تا پیام commit را بنویسید (میتوانید پیشفرض را بپذیرید).
-
تأیید تغییرات
پس از اجرای دستور، باgit logبررسی کنید commit جدید اضافه شده است:git log --onelineخروجی مشابه:
x9y8z7w Revert "اصلاح باگ" a1b2c3d اصلاح باگ e4f5g6h افزودن ویژگی جدید
نکته مهم:
git revert صرفاً commit مشخص شده را خنثی نمیکند؛ بلکه تمام تغییرات آن commit را معکوس میکند. اگر commit شامل چندین فایل باشد، تمام آنها به حالت قبل از آن commit برمیگردند.
مثال عملی:
فرض کنید فایلی به نام app.js دارید. در commit a1b2c3d یک خط به آن اضافه کردهاید که باعث باگ شده است. با اجرای git revert a1b2c3d، Git آن خط را حذف میکند و یک commit جدید با عنوان Revert "اصلاح باگ" ثبت میکند. فایل app.js اکنون دقیقاً مثل قبل از commit مذکور است.
برای ثبت پرسش ابتدا در سایت وارد شوید.