كيف يمكنني التحقق من التغييرات غير المؤكدة في Git؟

Git هو واحد من أقوى أدوات التحكم في الإصدارات المستخدمة على نطاق واسع من قبل المطورين في جميع أنحاء العالم. يساعد Git في إدارة الكود المصدري وتتبع التغييرات التي تتم على المشروع. واحدة من أهم ميزات Git هي القدرة على التحقق من التغييرات غير المؤكدة (Unstaged Changes)، مما يسمح للمطورين بمراجعة التعديلات التي لم تتم إضافتها بعد إلى الفهرس (staging area). في هذه المقالة، سنناقش كيفية التحقق من التغييرات غير المؤكدة في Git بخطوات واضحة ومبسطة.

ما هي التغييرات غير المؤكدة في Git؟

التغييرات غير المؤكدة هي تلك التعديلات التي أجريتها على ملفات المشروع ولكن لم تقم بإضافتها إلى الفهرس باستخدام الأمر git add. هذه التغييرات لا تزال محفوظة فقط في النسخة المحلية من المشروع ولم يتم تضمينها بعد في الالتزامات (commits). من المهم التحقق من هذه التغييرات للتأكد من أنك لم تنس أي تعديلات قبل إنشاء الالتزام النهائي.

الأوامر الأساسية للتحقق من التغييرات غير المؤكدة

1. استخدام git status

الأمر git status هو واحد من أكثر الأوامر استخدامًا في Git للتحقق من حالة المستودع. يُظهر هذا الأمر قائمة بجميع التغييرات التي أجريتها على الملفات ويحدد ما إذا كانت التغييرات غير مؤكدة أم تم إضافتها إلى الفهرس. لاستخدامه، قم بتنفيذ الأمر التالي في سطر الأوامر:

git status

سيعرض الأمر حالة المستودع مع المعلومات التالية:

  • التغييرات غير المؤكدة: هذه هي الملفات التي تم تعديلها ولكن لم تُضف إلى الفهرس.
  • التغييرات المؤكدة: الملفات التي تم إضافتها إلى الفهرس باستخدام git add.
  • الملفات غير المتتبعة: الملفات التي لم يتم تتبعها بعد بواسطة Git.

مثال على الإخراج:


On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   file1.txt
	modified:   file2.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	newfile.txt

في هذا المثال، الملفات file1.txt وfile2.txt تحتوي على تغييرات غير مؤكدة، بينما الملف newfile.txt غير متتبع.

2. استخدام git diff

الأمر git diff يُستخدم للحصول على تفاصيل دقيقة حول التغييرات غير المؤكدة. يعرض هذا الأمر الاختلافات بين الإصدار الحالي من الملفات والإصدار الموجود في الفهرس. لاستخدامه، قم بتنفيذ الأمر التالي:

git diff

سيعرض هذا الأمر الاختلافات في شكل مقارنات سطرية (line-by-line diffs) لتوضيح ما الذي تم تغييره في كل ملف. مثال:


diff --git a/file1.txt b/file1.txt
index 83db48f..f4a3c12 100644
--- a/file1.txt
+++ b/file1.txt
@@ -1,3 +1,4 @@
 Line 1
+New line added
 Line 2
 Line 3

في هذا المثال، تم إضافة سطر جديد إلى file1.txt.

3. التحقق من الملفات غير المتتبعة

إذا كنت تريد التركيز فقط على الملفات غير المتتبعة، يمكنك استخدام الأمر التالي:

git ls-files --others --exclude-standard

هذا الأمر يعرض قائمة بالملفات غير المتتبعة فقط، مما يساعدك على تحديد أي ملفات جديدة لم تتم إضافتها بعد إلى Git.

التحقق من التغييرات باستخدام واجهات رسومية

إذا كنت تفضل استخدام واجهة رسومية بدلاً من سطر الأوامر، يمكنك الاستفادة من الأدوات الرسومية مثل:

  • GitHub Desktop: يوفر واجهة رسومية لعرض التغييرات غير المؤكدة بسهولة.
  • SourceTree: أداة مجانية تدعم عرض التغييرات غير المؤكدة وإدارتها.
  • Visual Studio Code: يتضمن دعمًا مدمجًا لـ Git حيث يمكنك عرض التغييرات غير المؤكدة ضمن علامة تبويب “Source Control”.

كيفية إدارة التغييرات غير المؤكدة

1. إضافة التغييرات إلى الفهرس

لإضافة تغييرات محددة إلى الفهرس، استخدم الأمر git add متبوعًا باسم الملف:

git add file1.txt

لإضافة جميع التغييرات دفعة واحدة، يمكنك استخدام:

git add .

2. التراجع عن التغييرات غير المؤكدة

إذا كنت ترغب في تجاهل التغييرات غير المؤكدة والعودة إلى الحالة الأصلية للملف، يمكنك استخدام الأمر git restore:

git restore file1.txt

لإعادة جميع الملفات إلى حالتها الأصلية، استخدم:

git restore .

نصائح لتحسين سير العمل مع Git

  • قم بالتحقق من التغييرات غير المؤكدة بانتظام باستخدام git status لتجنب الأخطاء.
  • استخدم git diff لمراجعة التعديلات بعناية قبل إضافتها إلى الفهرس.
  • حافظ على مستودعك نظيفًا من خلال تتبع الملفات الجديدة أو حذف الملفات غير الضرورية.

الخاتمة

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

سواء كنت تستخدم سطر الأوامر أو الأدوات الرسومية، فإن فهم كيفية إدارة التغييرات غير المؤكدة يعد مهارة حاسمة لأي شخص يعمل مع Git. جرب الأوامر المذكورة وتأكد من دمجها في سير عملك اليومي للحصول على نتائج أفضل.