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

98 lines
8.4 KiB
Markdown
Raw Normal View History

---
title: Git Commit
localeTitle: جايت كومت
---
## جايت كومت
سيحفظ أمر `git commit` جميع التغييرات المرحلية ، بالإضافة إلى وصف مختصر من المستخدم ، في "الالتزام" بالمستودع المحلي.
الإلتزامات هي جوهر استخدام Git. يمكنك التفكير في الالتزام كقطعة لقطة لمشروعك ، حيث يتم إنشاء نسخة جديدة من هذا المشروع في المستودع الحالي. هناك ميزتان مهمتان للالتزامات هما:
* يمكنك تذكر التغييرات التي تم إجراؤها في وقت لاحق ، أو إعادة المشروع إلى هذا الإصدار ( [راجع Git checkout](https://guide.freecodecamp.org/git/git-checkout) )
* إذا قام عدة إلتزامات بتحرير أجزاء مختلفة من المشروع ، فلن يقوموا بالكتابة فوق بعضهم البعض حتى لو لم يكن مؤلفو الإلزام على دراية ببعضهم البعض. هذه إحدى مزايا استخدام أداة Git على أداة مثل Dropbox أو Google Drive.
### خيارات
هناك عدد من الخيارات التي يمكنك تضمينها مع `git commit` . ومع ذلك ، سيغطي هذا الدليل الخيارين الأكثر شيوعًا فقط. للحصول على قائمة واسعة من الخيارات ، يرجى الرجوع إلى [وثائق جيت](https://git-scm.com/docs/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 في المحرر الافتراضي الخاص بك بينما تكون قادرًا على رؤية التغييرات التي قمت بها للالتزام. يفتح الأمر محرر النص الافتراضي الخاص بك مع قالب رسالة التزام الإضافة إلى_ نسخة من التغييرات التي قمت بها لهذا الالتزام. لن يتم تضمين التغييرات أو الاختلافات في رسالة الالتزام ، ولكنها توفر طريقة لطيفة للإشارة إلى التغييرات الخاصة بك عندما تقوم بوصفهم في رسالة الالتزام الخاصة بك.
### معلومات اكثر:
* وثائق جيت: [ارتكاب](https://git-scm.com/docs/git-commit)