كيف تقوم بسحق كل ما يرتكبه في واحد؟

How Do You Squash All Commits One



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

ستوضح لك هذه المقالة كيفية سكواش جميع الالتزامات في التزام واحد في git. لقد قمنا بتنفيذ جميع الخطوات على توزيعة CentOS 8 Linux.







الاسكواش يلتزم في واحد مع git

يمكنك تنفيذ git squashing في الخطوات التالية:



الخطوة 1: اختر بدء الالتزام

لتحديد عدد الالتزامات التي تحتاجها للاسحق ، الأمر التالي الذي ستقوم بتشغيله على الجهاز:



سجل بوابة $





الآن ، ستستدعي git لبدء جلسة تفاعلية rebase باستخدام الأمر التالي:

$ git rebase -i HEAD ~ N

في HEAD ~ N أعلاه ، فإن 'N' هو العدد الإجمالي للالتزامات التي حددتها من الأمر 'git log'. لنفترض أن عدد الالتزامات هو 4. الآن ، سيتغير الأمر إلى الشكل التالي:

git rebase -i HEAD ~ 4

سيتم عرض قائمة الالتزامات التالية على الجهاز حيث يلتزم كل منهم بالتحديق بكلمة اختيار.

الخطوة 2: قم بتغيير Pick إلى Squash

هنا ، سنضع علامة على جميع الالتزامات على أنها قابلة للضغط ، ونترك الالتزام الأول الذي سيتم استخدامه كنقطة بداية. لذلك ، قم بتغيير محرر vim إلى وضع الإدراج عن طريق الضغط على 'i' وتغيير التزام اختيار الكل في الاسكواش باستثناء الالتزام الأول. الآن ، اضغط على 'Esc' لتغيير وضع الإدراج واضغط على ': wq!' لحفظ جميع التغييرات والخروج. إذا كنت تستخدم محرر نصوص بسيط ، فيمكنك ببساطة تغيير كلمة 'اختيار' إلى 'سكواش' وحفظ التغييرات. بعد ذلك ، سترى النافذة التالية على الجهاز:

عندما تغادر هذه الصدفة ، سترى الرسائل التالية في نافذة المحطة الطرفية:

إذا كنت ستقوم بسحق كل شيء بعد ذلك ، فسترى جميع الالتزامات مجتمعة في بيان التزام واحد سيتم عرضه على الجهاز:

استنتاج

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