مشاهده تفاوت‌ها

پیش‌نمایش دستور

            

استفاده

git diff [گزینه‌ها] [<کامیت>] [<مسیر>]

Git Diff چیست؟

دستور git diff تفاوت‌ها را بین دایرکتوری کاری، ایندکس و کامیت‌ها نمایش می‌دهد. این دستور به شما کمک می‌کند تا تغییرات بین نسخه‌ها را بررسی کنید یا تغییرات اعمال‌شده در دایرکتوری کاری یا استیج‌شده را مشاهده کنید.

مثال‌ها


# Show changes between the working directory and the index
git diff

# Show changes between a specific commit and the working directory
git diff 

# Show changes between two commits
git diff  

# Show changes for a specific file
git diff  

# Show changes in a specific file in the working directory
git diff 

محدودیت‌ها

  • برای فایل‌های بزرگ یا تغییرات زیاد، ممکن است خروجی زیادی تولید کند
  • تغییرات در فایل‌های نادیده گرفته شده را نمایش نمی‌دهد مگر اینکه پرچم خاصی تعیین شود
  • اگر تفاوت‌های زیادی وجود داشته باشد، خروجی می‌تواند بسیار زیاد باشد

گزینه‌ها

  • -w : نادیده گرفتن تمامی فضاهای سفید هنگام مقایسه
  • --color : نمایش خروجی رنگی
  • --name-only : نمایش فقط نام فایل‌های تغییر یافته
  • --stat : نمایش آمار تغییرات (تعداد خطوط اضافه یا حذف شده)
  • --patch : نمایش تغییرات (پچ) برای هر فایل
  • --cached : نمایش تغییرات بین ایندکس و آخرین کامیت
  • --staged : نمایش تغییرات در حالت استیج شده
  • --no-index : مقایسه فایل‌ها در گیت ایندکس نشده
  • --diff-filter : فیلتر کردن تفاوت‌ها بر اساس وضعیت فایل (برای مثال، 'A' برای اضافه شده، 'M' برای تغییر یافته)

موارد کاربرد

  • بررسی تغییرات اعمال‌شده در فایل‌ها بین کامیت‌ها
  • بازبینی تغییرات استیج‌شده قبل از کامیت کردن
  • چک کردن تغییرات دایرکتوری کاری قبل از استیج کردن آنها
  • مقایسه کامیت‌های مختلف برای درک نحوه تکامل کد

اشتباهات رایج

  • فراموش کردن مشخص کردن شناسه کامیت یا فایل، که ممکن است باعث مشاهده تفاوت‌های غیر ضروری شود.
  • استفاده از گزینه‌های اشتباه مانند `--staged` وقتی که قصد مشاهده تغییرات دایرکتوری کاری را دارید.
  • اشتباه گرفتن خروجی دستور git diff با git status—در حالی که git diff تفاوت‌های واقعی محتویات فایل‌ها را نشان می‌دهد، git status وضعیت فایل‌ها را نشان می‌دهد.

بهترین شیوه‌ها

  • همیشه تغییرات دایرکتوری کاری را قبل از کامیت بررسی کنید، مخصوصاً در کدبیس‌های بزرگ.
  • از دستور `git diff --cached` برای بازبینی تغییرات استیج‌شده قبل از نهایی کردن کامیت استفاده کنید.
  • از گزینه `--stat` برای مشاهده آمار سریع تعداد تغییرات انجام شده استفاده کنید.
  • برای وضوح بهتر، از گزینه `--color` برای خروجی رنگی که تفاوت‌ها را به طور مؤثرتری برجسته می‌کند استفاده کنید.

محدودیت‌ها

  • تغییرات در فایل‌هایی که توسط گیت نادیده گرفته شده‌اند نمایش داده نمی‌شود.
  • برای مخازن بسیار بزرگ با تعداد زیادی تغییرات، خروجی می‌تواند زیاد و دشوار برای بررسی باشد.
  • برای فایل‌های نادیده گرفته شده، لازم است که از گزینه‌هایی مانند `git diff --no-index` برای مقایسه آنها استفاده کنید.

نحوه استفاده

Git diff به شما امکان می‌دهد تغییرات را به روش‌های مختلف مشاهده کنید، چه بین کامیت‌ها، دایرکتوری کاری و ایندکس، یا تغییرات استیج‌شده و نادیده گرفته‌شده. این ابزار برای بازبینی و مدیریت تغییرات کد قبل از کامیت کردن ضروری است.

نمای کلی

در یک محیط توسعه مشارکتی، استفاده از دستور git diff به شما این امکان را می‌دهد تا تفاوت‌ها بین وضعیت‌های مختلف کد خود را بازبینی کنید، که به شما کمک می‌کند تا تغییرات ایجاد شده را شناسایی کرده و مطمئن شوید که قبل از انتشار یا کامیت کردن، از آن‌ها آگاه هستید.