نحوه نمایش فایل‌های تغییر یافته بین دو کامیت در گیت

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

در این مقاله به شما نشان می‌دهیم که چگونه می‌توانید این کار را به راحتی با استفاده از دستورات گیت انجام دهید. فرض کنیم که شما معمولاً کامیت‌ها را با پیام خاصی مشخص می‌کنید، به عنوان مثال: COMMIT-MESSAGE. حالا می‌خواهیم ببینیم که از این کامیت تا آخرین کامیت (که با HEAD شناخته می‌شود)، چه فایل‌هایی تغییر کرده‌اند.

گام ۱: پیدا کردن هش کامیت

اولین قدم این است که کامیتی را که دارای پیام COMMIT-MESSAGE است پیدا کنیم. برای این کار از دستور زیر استفاده می‌کنیم:

git log --grep="COMMIT-MESSAGE"

این دستور لیستی از کامیت‌هایی که پیامشان حاوی عبارت COMMIT-MESSAGE است را نمایش می‌دهد. حالا باید هش (Hash) کامیت مورد نظر را از این لیست پیدا کنیم.

گام ۲: نمایش فایل‌های تغییر یافته بین دو کامیت

بعد از اینکه هش کامیت را پیدا کردید، باید فایل‌های تغییر یافته بین آن کامیت و آخرین کامیت (HEAD) را لیست کنید. برای این کار از دستور زیر استفاده می‌کنیم:

git diff --name-only HASH HEAD

در این دستور به جای HASH، هش کامیتی که در مرحله‌ی قبلی پیدا کردید را قرار دهید. این دستور لیستی از فایل‌هایی که در این بازه تغییر کرده‌اند را نمایش می‌دهد.

توضیح دستورها

  • git log --grep="پیام": این دستور برای جستجو در تاریخچه‌ی کامیت‌ها بر اساس پیام استفاده می‌شود. پارامتر --grep به گیت می‌گوید که کامیت‌هایی که پیامشان شامل عبارت مشخص شده است را نمایش دهد.
  • git diff --name-only: این دستور برای مقایسه دو کامیت استفاده می‌شود و به شما فقط نام فایل‌های تغییر یافته را نشان می‌دهد (بدون جزئیات تغییرات). اگر نیاز به دیدن تغییرات دقیق دارید، می‌توانید از دستور git diff بدون پارامتر --name-only استفاده کنید.