آموزش گیت Git – بخش ۳ – ریست کردن commit
آموزش گیت Git - بخش 3 - ریست کردن commit » در این مقاله، نحوه بازگردانی تغییرات commit شده (ریست کردن commit) را با ذکر سه مثال بیان خواهیم کرد. دستوراتی که در این مقاله مورد استفاده می باشند عبارتند از: -- git checkout و git status و . git reset HEAD

آموزش گیت Git – بخش ۳ – ریست کردن commit

 Git & Github Tutorial – Part3

در مقاله قبل، حذف یک یا چند فایل از stage ، دستور git diff و لاگ گیری از commit های پروژه و غیره  را بیان کردیم. در این مقاله، نحوه بازگردانی (ریست reset) کامیت (commit) های انجام شده را آموزش می دهیم.

 

نحوه بازگردانی تغییرات commit شده (ریست کردن commit)

 

در صورتی که بخواهیم commit های انجام شده را undo کنیم، باید از دستور checkout استفاده کنیم.

دستور checkout در گیت

 

ریست کردن commit – مثال اول:

فرض کنید تغییراتی در فایل index.html و فایل main.css اعمال کرده اید، حالا متوجه شده اید که این تغییرات درست نبوده اند و می خواهید این فایل ها را به حالت قبل از تغییر برگردانید. در این مثال فرض شده است که پس از انجام تغییرات، دستورات افزودن به stage یعنی add و نیز افزودن به repository یعنی commit را انجام نداده اید. اگر دستور git checkout – index.html را اجرا کنیم، تنها فایل index.html به حالت قبل از تغییرات برخواهد گشت.

دستور git checkout – index.html

 اگر بخواهیم تغییرات تمام فایل ها را برگردانیم، باید دستور git checkout — . را اجرا کنیم. علامت نقطه یعنی "." باعث می شود تا دستور checkout روی تمام فایل های پروژه اجرا شود.

 

ریست کردن commit – مثال دوم:

فرض کنید تغییراتی که در برخی از فایل های پروژه خود داده اید و به stage اضافه کرده اید (توسط دستور git add .) را به حالت قبل برگردانیم و آنها را commit نکنیم، دستور git reset HEAD index.html و یا بطور کلی git reset HEAD . را باید اجرا کنیم. با اینکار عملیات Unstage را انجام داده ایم.

دستور git reset HEAD index.html

 در این مرحله تغییرات انجام شده از stage خارج شده و تنها در سطح پروژه موجود است. اکنون اگر دستور git status را اجرا کنیم، گیت، فایل هایی که تغییر داده اید را با رنگ قرمز نمایش می دهد و اعلام می کند برای ذخیره این تغییرات باید ابتدا دستور add و سپس دستور commit را اجرا کنید. اکنون برای برگرداندن تغییرات فایل های موردنظر، مانند مثال اول، دستورgit checkout — .  را باید اجرا کنیم.

 

ریست کردن commit – مثال سوم:

فرض کنید تغییرات موردنظرمان را در repository اضافه (commit) کرده ایم. اگر بخواهیم تغییرات پروژه را به یک commit خاص برگردانیم، ابتدا با دستور git log –oneline لیست تمام کامیت ها را بصورت خلاصه و تک‌خطی مشاهده می کنیم.

نکته: سعی کنید آیدی کامیت ها را در جایی ذخیره کنید تا بتوانید بعدا در صورت بروز اشتباه، به کامیت دلخواه خود بازگردید. اکنون که لیست commit ها را بهمراه آیدی آنها در اختیار داریم، می توانیم به هر کامیتی که می خواهیم بازگردیم. بدین منظور، دستور git reset Commit-ID را اجرا کنید. باید بجای Commit-ID آیدی کامیت موردنظر خود را بنویسید. حال فرض کنید در یک Commit یک یا چند فایل یا فولدر ایجاد کرده ایم و بخواهیم این commit را ریست کنیم (یعنی به commit قبل از آن بازگردیم) باید از دستور git reset –hard Commit-ID استفاده شود.

دستور git reset Commit-ID

 با اجرای این دستور، فایل ها یا فولدرهای مذکور نیز پاک خواهند شد. به همین ترتیب اگر بخواهیم مجددا به همین کامیت برگردیم، پس از اجرای همان دستور، فایلها و فولدرها دوباره ساخته خواهند شد.

با مراجعه به وب سایت مرجع گیت، می توانید درباره دستور reset در Git اطلاعات بیشتری کسب کنید.

در بخش چهارم از آموزش گیت، به معرفی و بررسی مفاهیم branch (شاخه) و merge (ادغام) خواهیم پرداخت.

 


برچسب‌ها:

commit resetآموزش گیتبازگردانی commitدستورات gitدستورات گیتریست کردن commitریست کردن کامیت

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سه + 1 =