مشاهده تفاوت ها بین حالت های مختلف پروژه، با دستور git diff ، در Git

دستور git diff یکی از پرکاربردترین دستورات در گیت است که برای مشاهده تفاوت ها (تفاوت ها) بین حالت های مختلف پروژه استفاده می شود. به زبان ساده، این دستور به شما نشان می دهد که چه خطوطی در فایل ها اضافه، حذف یا تغییر کرده اند.

بیایید کاربردهای اصلی آن را با مثال بررسی کنیم:

۱. مقایسه با آخرین commit (تغییرات کامیت نشده)

اگر فایلی را ویرایش کرده اید اما هنوز آن را add و commit نکرده اید، با دستور زیر تمام تغییرات فایل های tracked را می بینید:

این دستور تفاوت بین working directory (همان فایل های فعلی شما) و آخرین commit (یا همان staging area) را نشان می دهد.

۲. مقایسه تغییرات stage شده با آخرین commit

اگر فایل ها را با git add به مرحله Stage برده اید اما هنوز کامیت نکرده اید، برای دیدن تغییراتی که قرار است کامیت شوند، از این دستور استفاده کنید:

(یا git diff --cached که دقیقا همان است)

۳. مقایسه دو commit خاص

اگر می خواهید تفاوت بین دو کامیت مشخص (مثلا دو هش یا دو برچسب) را ببینید:

مثلا:

(تفاوت بین دو کامیت قبل و کامیت فعلی)

۴. مقایسه دو شاخه (branch)

برای دیدن تفاوت های بین دو شاخه:

این دستور نشان می دهد که اگر شاخه branch2 را در branch1 ادغام (merge) کنید، چه تغییراتی اعمال خواهد شد.

۵. مقایسه یک فایل خاص

اگر فقط به یک فایل خاص علاقه دارید، نام فایل را انتهای دستور اضافه کنید:

یا برای مقایسه یک فایل بین دو شاخه:

۶. مشاهده خلاصه تغییرات (آمار)

اگر فقط می خواهید بدانید چند خط اضافه یا حذف شده بدون دیدن جزییات:

خروجی git diff چگونه است؟

خروجی به این شکل است:

خطوطی که با - شروع می شوند: خطوط حذف شده

خطوطی که با + شروع می شوند: خطوط اضافه شده

بخش های @@ نشان دهنده محدوده تغییرات در فایل هستند.

نکته مهم

git diff فقط تغییرات کامیت نشده را نشان نمی دهد، بلکه یک دستور همه کاره برای مقایسه هر نوع آبجکت در گیت (کامیت، شاخه، درخت، staging area و working directory) است.

نویسنده علیرضا گلمکانی
شماره کلید 14509
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)