freeCodeCamp/guide/arabic/git/git-commit/index.md

8.4 KiB

title localeTitle
Git Commit جايت كومت

جايت كومت

سيحفظ أمر git commit جميع التغييرات المرحلية ، بالإضافة إلى وصف مختصر من المستخدم ، في "الالتزام" بالمستودع المحلي.

الإلتزامات هي جوهر استخدام Git. يمكنك التفكير في الالتزام كقطعة لقطة لمشروعك ، حيث يتم إنشاء نسخة جديدة من هذا المشروع في المستودع الحالي. هناك ميزتان مهمتان للالتزامات هما:

  • يمكنك تذكر التغييرات التي تم إجراؤها في وقت لاحق ، أو إعادة المشروع إلى هذا الإصدار ( راجع Git checkout )
  • إذا قام عدة إلتزامات بتحرير أجزاء مختلفة من المشروع ، فلن يقوموا بالكتابة فوق بعضهم البعض حتى لو لم يكن مؤلفو الإلزام على دراية ببعضهم البعض. هذه إحدى مزايا استخدام أداة Git على أداة مثل Dropbox أو Google Drive.

خيارات

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

الخيار -m

الخيار الأكثر شيوعًا المستخدم مع git commit هو الخيار -m . -m يقف للرسالة. عند استدعاء git commit ، يلزم تضمين رسالة. يجب أن تكون الرسالة وصفًا موجزًا ​​للتغييرات التي يتم إجراؤها. يجب أن تكون الرسالة في نهاية الأمر ويجب أن تكون ملفوفة في علامات اقتباس " " .

مثال على كيفية استخدام الخيار -m :

git commit -m "My message"

يجب أن يبدو الإخراج في المحطة الطرفية كالتالي:

[master 13vc6b2] My message 1 file changed, 1 insertion(+)

ملاحظة: إذا لم يتم تضمين -m مع الأمر git commit ، فستتم مطالبتك بإضافة رسالة في محرر النص الافتراضي - راجع "استخدام رسائل الالتزام التفصيلية" أدناه.

الخيار -A

خيار آخر شائع هو الخيار -a . -a تقف للجميع. يقوم هذا الخيار تلقائيًا بتجهيز جميع الملفات المعدلة. إذا تمت إضافة ملفات جديدة ، فإن الخيار -a لن يعرض هذه الملفات الجديدة. لن يتم الالتزام إلا بالملفات التي يعرفها مستودع Git.

فمثلا:

لنفترض أن لديك ملف README.md تم الالتزام به بالفعل README.md . إذا قمت بإجراء تغييرات على هذا الملف ، يمكنك استخدام الخيار -a في أمر الالتزام الخاص بك للمرحلة وإضافة التغييرات إلى المستودع الخاص بك. ومع ذلك ، ماذا لو قمت أيضًا بإضافة ملف جديد يسمى index.html ؟ لن يؤدي الخيار -a إلى وضع index.html لأنه غير موجود حاليًا في المستودع. عند إضافة ملفات جديدة ، ينبغي استدعاء أمر git add من أجل تنظيم الملفات قبل التمكن من الالتزام بالمستودع.

مثال على كيفية استخدام الخيار -a :

git commit -am “My new changes”

يجب أن يبدو الإخراج في المحطة الطرفية كالتالي:

[master 22gc8v1] My new message 1 file changed, 1 insertion(+)

استخدام رسائل الالتزام التفصيلية

على الرغم من أن git commit -m "commit message" جيد ، إلا أنه من المفيد تقديم معلومات أكثر تفصيلاً وخصوصية.

إذا ارتكبت دون استخدام الخيار -m ، فسيقوم git بفتح محرر النص الافتراضي الخاص بك بملف جديد ، والذي سيتضمن قائمة معلّقة بالتعليقات عن جميع الملفات / التغييرات التي تم إعدادها في الالتزام. ثم تكتب رسالة التفصيل الخاصة بك (سيتم التعامل مع السطر الأول على أنه سطر الموضوع) وسيتم تنفيذ الالتزام عند حفظ / إغلاق الملف.

يأخذ بنظر الأعتبار:

  • حافظ على طول خطوط الرسائل التزام أقل من 72 charcters كممارسة قياسية
  • لا بأس - بل وأوصى - بكتابة رسائل التزام متعددة
  • يمكنك أيضًا الرجوع إلى مشكلات أخرى أو سحب الطلبات في رسالة الالتزام. قام GitHub بتخصيص مرجع رقم لكافة طلبات السحب والمشكلات ، لذلك على سبيل المثال إذا كنت تريد الإشارة إلى طلب السحب # 788 ببساطة قم بذلك في سطر الموضوع أو في النص الأساسي بالشكل المناسب

الخيار --amend

يتيح لك خيار --amend تغيير --amend الأخير. لنفترض أنك ارتكبت للتو وأنك ارتكبت خطأ في رسالة سجل الالتزام. يمكنك تعديل أحدث الالتزام باستخدام الأمر:

git commit --amend -m "an updated commit message"

إذا نسيت تضمين ملف في الالتزام:

`git add FORGOTTEN-FILE-NAME git commit --amend -m "an updated commit message"

If you don't need to change the commit message, use the --no-edit option

git add FORGOTTEN-FILE-NAME git commit --amend --no-edit `

تحدث الإلتزامات السابقة لأوانها طوال الوقت في سياق تطورك اليومي. من السهل نسيان تقديم ملف أو كيفية تنسيق رسالة الالتزام الخاصة بك بشكل صحيح. يعد علم --amend طريقة ملائمة لإصلاح هذه الأخطاء الصغيرة. سيحل هذا الأمر محل رسالة الالتزام القديمة مع الرسالة المحدثة المحددة في الأمر.

تعتبر الإلتزامات المعدلة عبارة عن تعهدات جديدة تمامًا ، ولن تكون الالتزام السابق في فرعك الحالي. عند العمل مع الآخرين ، يجب أن تحاول تجنب تعديل الالتزامات إذا تم دفع الالتزام الأخير بالفعل في المستودع.

باستخدام --amend ، أحد --amend المفيدة التي يمكنك استخدامها هو --author والذي يمكنك من تغيير مؤلف آخر التزام قمت به. تخيل موقفًا لم تقم بإعداد اسمك أو بريدك الإلكتروني بشكل صحيح في تكوينات git ولكنك ارتكبت بالفعل التزامًا. مع العلم --author يمكنك ببساطة تغييرها دون إعادة التعيين الأخير.

git commit --amend --author="John Doe <johndoe@email.com>"

الخيار -v أو --verbose

يتم استخدام الخيار -v أو --verbose دون الخيار -m . يمكن أن يكون الخيار -v مفيدًا عندما ترغب في تعديل رسالة التزام Git في المحرر الافتراضي الخاص بك بينما تكون قادرًا على رؤية التغييرات التي قمت بها للالتزام. يفتح الأمر محرر النص الافتراضي الخاص بك مع قالب رسالة التزام بالإضافة إلى نسخة من التغييرات التي قمت بها لهذا الالتزام. لن يتم تضمين التغييرات أو الاختلافات في رسالة الالتزام ، ولكنها توفر طريقة لطيفة للإشارة إلى التغييرات الخاصة بك عندما تقوم بوصفهم في رسالة الالتزام الخاصة بك.

معلومات اكثر: