User Tools

Site Tools


git_squash

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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