إنشاء commit لجزء من ملف
تمثل المقاطع حالات مختلفة وليست سكربتاً واحداً. اختر الحالة المناسبة لمستودعك واستبدل أسماء الفروع والمسارات وVERIFIED_COMMIT قبل الاستخدام. أوامر الإلغاء تخص العملية النشطة المقابلة فقط؛ لا تنفذ البديلين معاً.
الجواب المختصر
ينشئ Git commit من محتوى الفهرس. أضف الإصلاح فقط، واترك التعديلات الأخرى في مجلد العمل لتسجيلها في commits مستقلة.
المثال وشروطه
يتضمن المثال إصلاحًا وعبارة طباعة للتصحيح في الملف نفسه. يجب أن يكونا تعديلين نصيين يمكن فحصهما بصورة منفصلة.
افحص الحالة قبل التعديل
قارن git diff وgit diff --cached. يعرض الأول التغييرات غير المضافة للفهرس، ويعرض الثاني المحتوى الذي سيدخل commit التالي بدقة.
git status --short
git diff
git diff --cachedاحتفظ بمرجع أو نسخة عمل منفصلة
إضافة تغيير إلى الفهرس لا تمحو التعديل المتبقي. يظل الفهرس ومجلد العمل حالتين يمكن فحص كل منهما.
المسار الأول
افتح الفروق في FluxGit واختر Stage change عند الإصلاح. تحقق في لوحة commit من أن عبارة الطباعة ما زالت خارج الفهرس.
اختر النتيجة الأخرى عن قصد
في الطرفية، يسمح git add -p بقبول hunks أو رفضها. يمكن للخيارين s وe تقسيم hunk أو تحرير patch عندما يكون ذلك مناسبًا.
git add -p -- app.py
git diff --cachedالحدود والاستثناءات
أصغر وحدة في FluxGit هي تغيير داخل hunk. إذا امتد تغيير واحد على ستة أسطر، تُضاف الأسطر الستة معًا؛ لا يعني ذلك تحديد نطاق أسطر عشوائي بالفأرة.
التعارضات والتنظيف
إزالة التغيير من الفهرس تبقي الملف، أما تجاهل التغيير فيعدّل محتواه. يلتقط FluxGit snapshot أمان قبل التجاهل الجزئي؛ هما عمليتان مختلفتان.
تحقق من النتيجة
اقرأ git diff --cached قبل التسجيل وgit show بعده. افحص git diff أيضًا للتأكد من بقاء العمل المعلق داخل الملف.
git show --stat HEAD
git diff
git status --shortأسئلة شائعة
يمكن لـgit reset --soft HEAD^ إعادة محتوى commit عادي غير مشارك إلى الفهرس. افحص الحالة ونسّق قبل إعادة كتابة سجل مشترك.
راجع العملية في FluxGit
يعرض Commit Studio الفروق والرسالة معًا. راجع المحتوى أثناء كتابة الرسالة، واجعل لكل commit هدفًا واضحًا.
مراجع Git الرسمية
إيداع جزء من ملف في Git: جهّز الإصلاح فقط
أصلحت خطأ وتركت طباعة للتصحيح في الملف نفسه؟ جهّز الإصلاح فقط للإيداع. تعرّف إلى منطقة التجهيز في Git وزر Stage change في FluxGit والأمر git add -p.
شاهد على YouTube — يفتح علامة تبويب جديدة
سُجّل في مستودع تجريبي.
اقرأ نص التعليق الصوتي
- أصلحت خطأ، لكنك تركت طباعة للتصحيح في الملف نفسه. تريد إيداعًا نظيفًا يتضمن الإصلاح من دون الطباعة.
- هذا هو الملف app.py في FluxGit، وفيه تغييران.
- Git يودع محتويات منطقة التجهيز، لا مجلدك كله. يبدأ التغييران على القرص فقط. يضع Stage change الإصلاح وحده في منطقة التجهيز. يأخذ الإيداع هذا المحتوى فقط، وتبقى الطباعة على القرص من دون إيداع.
- افتح الملف. يعرض الفرق التغييرين، ولكل منهما زر Stage change خاص به.
- اضغط Stage change للإصلاح. يُجهّز هذا التغيير وحده، وتبقى الطباعة كما هي.
- عند العودة إلى لوحة الإيداع، الإصلاح مجهّز والطباعة ليست مجهّزة.
- اكتب الرسالة ونفّذ الإيداع.
- يتضمن الإيداع الجديد الإصلاح وحده. تبقى الطباعة على القرص من دون إيداع.
- غيّرت رأيك؟ التراجع يعيد الإيداع إلى ما قبله. يعود الإصلاح إلى منطقة التجهيز، ولا تتغير ملفاتك.
- في الطرفية، استخدم git add -p. يسألك Git عن كل تغيير: أجب yes للإصلاح وno للطباعة، ثم نفّذ الإيداع.
- الخلاصة: جهّز التغييرات لا الملفات كاملة. فكرة واحدة لكل إيداع، والتراجع عند الخطأ. الدرس التالي: إصلاح الإيداع الأخير.