ذكري المظهر

كيفية تغيير رسالة التزام بوابة

What is git cherry-pick ? | Git Tips #7 [ Arabic Video ]

What is git cherry-pick ? | Git Tips #7 [ Arabic Video ]

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

Anonim

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

يشرح هذا الدليل كيفية تغيير رسالة أحدث أوامر Git أو أقدم.

تغيير الالتزام الأخير

يتيح لك الأمر git commit --amend تغيير آخر رسالة التزام.

لا دفعت الالتزام

لتغيير رسالة الالتزام الأحدث التي لم يتم دفعها إلى مستودع التخزين البعيد ، قم --amend مرة أخرى باستخدام علامة - --amend .

  1. انتقل إلى دليل المخزون في محطة الخاص بك.

    قم بتشغيل الأمر التالي لتعديل (تغيير) رسالة الالتزام الأخير:

    git commit --amend -m "New commit message."

    ما يفعله الأمر هو الكتابة فوق الالتزام الأحدث مع الجديد.

    و -m الخيار يسمح لك لكتابة رسالة جديدة على سطر الأوامر دون فتح جلسة المحرر.

قبل تغيير رسالة الالتزام ، يمكنك أيضًا إضافة تغييرات أخرى نسيتها مسبقًا:

git add. git commit --amend -m "New commit message."

دفع ارتكبت

الالتزام المعدل (المتغير) هو كيان جديد له SHA-1 مختلف. الالتزام السابق لن يكون موجودا في الفرع الحالي.

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

  1. انتقل إلى المستودع.

    يعدل رسالة الالتزام الأخير المدفوع:

    git commit --amend -m "New commit message."

    فرض الضغط لتحديث تاريخ المستودع البعيد:

    git push --force branch-name

تغيير ارتكاب أقدم أو متعددة

يعيد الأمر rebase إعادة كتابة محفوظات الالتزام ، ويتم تشجيعه بشدة على إعادة الالتزام التي تم دفعها بالفعل إلى مستودع Git البعيد.

  1. انتقل إلى مستودع التخزين الذي يحتوي على رسالة الالتزام التي تريد تغييرها.

    اكتب git rebase -i HEAD~N ، حيث N هو عدد مرات تنفيذ rebase on. على سبيل المثال ، إذا كنت ترغب في تغيير التعديلتين الرابعة والخامسة ، فستكتب:

    git rebase -i HEAD~5

    سيعرض الأمر أحدث أوامر X في محرر النصوص الافتراضي الخاص بك:

    pick 43f8707f9 fix: update dependency json5 to ^2.1.1 pick cea1fb88a fix: update dependency verdaccio to ^4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2 pick c5e078656 chore: update dependency flow-bin to ^0.109.0 pick 11ce0ab34 fix: Fix spelling. # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)

    الانتقال إلى أسطر رسالة الالتزام التي تريد تغييرها واستبدالها مع pick reword :

    reword 43f8707f9 fix: update dependency json5 to ^2.1.1 reword cea1fb88a fix: update dependency verdaccio to ^4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2 pick c5e078656 chore: update dependency flow-bin to ^0.109.0 pick 11ce0ab34 fix: Fix spelling. # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)

    احفظ التغييرات وأغلق المحرر.

    لكل التزام تم اختياره ، سيتم فتح نافذة محرر نصوص جديدة. تغيير رسالة الالتزام ، وحفظ الملف ، وإغلاق المحرر.

    fix: update dependency json5 to ^2.1.1

    فرض دفع التغييرات إلى المستودع البعيد:

    git push --force branch-name

استنتاج

لتغيير أحدث رسالة التزام ، استخدم الأمر git commit --amend على رسائل التزام قديمة أو متعددة ، استخدم git rebase -i HEAD~N

لا تعدل التعهدات المدفوعة لأنها قد تسبب الكثير من المشكلات لزملائك.