Git Tutorials

إتقان Git Diff: دليل شامل

Spread the love

أمر diff في Git لا يقدر بثمن لفهم التغييرات في مشروعك. فهو يسمح لك بمقارنة إصدارات مختلفة من ملفاتك، وتحديد التعديلات، ومراجعة التغييرات قبل الالتزام بها. سيشمل هذا البرنامج التعليمي الاستخدامات الأساسية لأمر git diff، مع التركيز على الوضوح والتطبيق العملي.

جدول المحتويات

مقارنة نسخة العمل الخاصة بك بالمستودع

تمثل نسخة العمل الخاصة بك ملفات المشروع الموجودة على جهازك المحلي. يخزن المستودع سجل الإصدارات الذي يديره Git. يعرض git diff (بدون وسيطات) التغييرات غير المُرحّلة في نسخة العمل الخاصة بك:


git diff

يعرض الإخراج الإضافات (+)، والحذف (-)، والتعديلات. على سبيل المثال:


--- a/my_file.txt
+++ b/my_file.txt
@@ -1,3 +1,4 @@
 This is line 1
 This is line 2
+This is a new line
 This is line 3

يشير هذا إلى إضافة سطر جديد إلى my_file.txt. يمثل --- a/ و +++ b/ إصداري الملف القديم والجديد. لمقارنة ملف محدد:


git diff my_file.txt

مقارنة منطقة التجميع بالمستودع

تحتوي منطقة التجميع على التغييرات التي أعددتها للإلتزام التالي. يكشف git diff --staged (أو git diff --cached) عن الفرق بين التغييرات المُرحّلة والالتزام الأخير:


git diff --staged

هذا أمر بالغ الأهمية لمراجعة التغييرات قبل الالتزام. يمكنك تحديد أسماء الملفات لتحديد المقارنة.

استخدام أدوات diff الخارجية

قد يكون استخدام أمر diff النصي الافتراضي لـ Git أمرًا صعبًا في حالة التغييرات المعقدة. توفر أدوات diff الخارجية مقارنات بصرية، وتمييز بناء الجملة، وميزات مفيدة أخرى. قم بتكوين أداة خارجية (مثل Meld، أو KDiff3، أو Beyond Compare) باستخدام git config:


git config --global diff.external meld

استبدل meld بأمر أداة الخاص بك. راجع وثائق أداة الخاص بك للحصول على الأمر الصحيح وأي تعديلات ضرورية خاصة بالنظام.

خيارات git diff المتقدمة

يقدم git diff العديد من الخيارات الأخرى. على سبيل المثال:

  • git diff --check: يكتشف أخطاء المسافات البيضاء.
  • git diff --summary: يوفر ملخصًا موجزًا للتغييرات.
  • git diff ..: يقارن بين التزامين.
  • git diff --word-diff: يبرز التغييرات كلمة بكلمة.

جرب هذه الخيارات لتخصيص git diff لعملك. إن إتقان git diff أمر ضروري لاستخدام Git بكفاءة.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *