| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| git_squash [2021/03/08 12:49] – chifek | git_squash [2023/09/14 06:06] (current) – external edit 127.0.0.1 |
|---|
| Как видите, для сжатия мы отметили последние два коммита с помощью команд squash или s. | Как видите, для сжатия мы отметили последние два коммита с помощью команд squash или s. |
| |
| В примере, приведенном выше, коммиты, предназначенные для сжатия, будут слиты с основным коммитом — тем, который отмечен командой pick. Отметив коммиты, сохраните изменения в редакторе. | В примере, приведенном выше, коммиты, предназначенные для сжатия, будут слиты с основным коммитом — тем, который отмечен командой ''pick''. Отметив коммиты, сохраните изменения в редакторе. |
| Далее ''rebase -i'' снова откроет редактор для ввода сообщения о коммите, как на картинке ниже: | Далее ''rebase -i'' снова откроет редактор для ввода сообщения о коммите, как на картинке ниже: |
| |
| {{:1_ouvpxartj-ad_f4ckdrnwq.png?600|}} | {{:1_ouvpxartj-ad_f4ckdrnwq.png?600|}} |
| | |
| | |
| | Отредактировав и сохранив сообщения, можете закрыть редактор. Обратите внимание: строки, которые начинаются с #, будут проигнорированы. После этого журнал Git будет выглядеть следующим образом: |
| | |
| | |
| | {{::1_jiu1q7jwercneobst4rf4q.png?600|}} |
| | |
| | |
| | Здесь изменилось сообщение о коммите, и обратите внимание: три коммита “склеились” в один. Также изменился хэш коммита. Через ''git rebase'' всегда создается новый коммит, содержащий соответствующие изменения. |
| | |
| | ===== Так что используйте этот инструмент с осторожностью. ===== |
| | |
| | Помните: сжатие коммитов меняет историю Git, поэтому не рекомендуется сжимать ветвь, если вы уже отправили ее в удаленный репозиторий. Всегда выполняйте сжатие до того, как отправить пуш с изменениями. |