Git: تعديل رسالة الالتزام الموجودة

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

إذن ماذا لو كنت تريد تعديل رسالة الالتزام الحالية؟ لحسن الحظ ، من السهل القيام بذلك في Git ، لكن الطريقة قد تتغير قليلاً اعتمادًا على بعض العوامل.

إصلاح آخر التزام ، لم يتم دفعه إلى جهاز التحكم عن بعد

هذه أبسط حالة نظرًا لعدم وجود حاجة لتعديل مستودع بعيد ، ما عليك سوى تعديل المستودع الخاص بك. في هذه الحالة ، يمكنك استخدام الأمر التالي:

$ git commit --amend

سيؤدي تشغيل هذا الأمر إلى فتح محرر يمكنك من خلاله تعديل ملف آخر ارتكاب رسالة. بمجرد الانتهاء من حفظ / إغلاق المحرر ، سيتم تغيير رسالة الالتزام.

أنا شخصياً أفضل القيام بمعظم الأشياء في سطر الأوامر ، والتي يمكنك القيام بها عن طريق إضافة وسيطة ورسالة إلى الأمر أعلاه:

$ git commit --amend -m "Added a new file"

لن يؤدي القيام بذلك بهذه الطريقة إلى فتح المحرر ، ولكنه بدلاً من ذلك سيعدل رسالة الالتزام على الفور.

إصلاح الالتزام الأخير ، الدفع إلى جهاز التحكم عن بعد

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

الخطوة الأولى هي تعديل الالتزام الأخير ، تمامًا كما فعلنا في القسم السابق:

$ git commit --amend -m "Added a new file"

بعد ذلك ، تحتاج إلى دفع هذه التغييرات إلى المستودع البعيد. ومع ذلك ، يجب أن يتم ذلك باستخدام --force العلم.

$ git push <remote> <branch> --force

نحن بحاجة إلى القيام بذلك بهذه الطريقة لاستبدال المستودع البعيد بولايتنا المحلية.

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

تحقق من دليلنا العملي العملي لتعلم Git ، مع أفضل الممارسات ، والمعايير المقبولة في الصناعة ، وورقة الغش المضمنة. توقف عن أوامر Googling Git وفي الواقع تعلم ذلك!

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

استخدم Rebase التفاعلي

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

لبدء تغيير العنوان الأساسي ، يمكنك استخدام الأمر التالي:

$ git rebase -i HEAD~n

هنا، n هو عدد الالتزامات التي تريد فحصها وتحريرها. سترى بعد ذلك قائمة بالالتزامات ، على غرار ما يلي:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















كما ترى ، تم سرد جميع عمليات N الأخيرة ، ويمكنك تعديل رسائلهم حسب الحاجة.

الطابع الزمني:

اكثر من ستاكابوز