Undoing Local Changes

دستور git diff به ما تفاوت دو حالت برنامه را باز میگرداند. این دو حالت که با یکدیگر مقایسه می شوند:

1- تغییرات local ای هستند که هنوز وارد staging area نشده اند یا commit نشده اند.

2- وضعیت فعلی در staging area یا commit آخر

خروجی دستور git diff به شکل زیر است:

--- a/file address
+++ b/file address
@@ -line number @@ user who changed it
+ changes

گاهی هم ممکن است بخواهیم تغییراتی که انجام داده ایم را حذف کنیم و به حالت قبلی در staging area یا commit آخر برگردیم. برای این کار دو روش داریم.

1- یا یک فایل یا فولدر را به حالت قبلی برگردانیم:

git checkout <path to file or folder>

2- یا کل ریپازیتوری local را به حالت مشخصی برگردانیم:

git reset <commit sha: hash ID>