31 lines
1.5 KiB
Markdown
31 lines
1.5 KiB
Markdown
---
|
|
title: How to Squash Multiple Commits into One with Git
|
|
localeTitle: كيفية الإسكوا تلتزم متعددة في واحد مع بوابة
|
|
---
|
|
هذه هي ميزة رهيبة من `rebase` التي يمكن استخدامها في الوضع `interactive` . لتقليص _n_ الأخير في واحد ، قم بتشغيل الأمر التالي:
|
|
|
|
`git rebase -i HEAD~n
|
|
`
|
|
|
|
سيؤدي ذلك إلى فتح محرر نصوص بشيء مماثل لما يلي:
|
|
|
|
`pick commit_1
|
|
pick commit_2
|
|
pick commit_3
|
|
...
|
|
pick commit_n
|
|
# Bunch of comments
|
|
`
|
|
|
|
اترك الالتزام الأول بمفرده ، وغيري بقية `pick` إلى `squash` . حفظ والخروج من المحرر.
|
|
|
|
لذا إذا أردت أن تسحق آخر ثلاث دعاوى ، فستقوم أولاً بتشغيل `git rebase -i HEAD~3` ، ثم ستحتاج إلى تعديل التزاماتك لتبدو شبيهة مثل:
|
|
|
|
`pick dd661ba Commit 1
|
|
squash 71f5fee Commit 2
|
|
squash f4b4bf1 Commit 3
|
|
`
|
|
|
|
إذا كنت قد دفعت بالفعل إلى جهاز تحكم عن بعد قبل أن تضغط على `-f` ، فسيتعين عليك الضغط على جهاز التحكم عن بعد مرة أخرى ، مع العلم `-f` ، وإلا فسوف يلقي git خطأً فيك.
|
|
|
|
من المقترح بشدة أن تقرأ المعلومات الموجودة في الملف المفتوح لأن هناك العديد من الأشياء التي يمكنك القيام بها. |