Когда использовать сквош и ребаз? - PullRequest
0 голосов
/ 01 мая 2018

Попытка изучить лучшие практики для мерзавцев при работе в команде.

Когда хорошо использовать rebase, а когда использовать squash, а когда НЕ целесообразно их использовать? (описание сценариев / примеры было бы здорово проиллюстрировать)

1 Ответ

0 голосов
/ 03 мая 2018

Когда их не использовать: Если вы боитесь изменить историю мерзавцев и, возможно, потерять изменения.

Когда использовать: Для того, чтобы поддерживать постоянную историю с сообщениями на месте.

  • Сквош
    • Предположим, что вы работаете над веткой и делаете несколько коммитов в форме wip templates, wip logic, wip - вы можете затем объединить все эти промежуточные коммиты в один большой коммит через сквош и создать достойное послание для них.

Я больше не использую сквош вручную, поскольку большинство приличных веб-клиентов (например, bitbucket, github) допускают стратегию слияния сквоша для запросов на извлечение.

  • Rebase
    • Избегает слияния коммитов (история танго)
    • git отменяет все ваши коммиты, использует другое состояние другой ветви в качестве новой базы и повторно применяет ваши коммиты. Каждый из ваших коммитов получит новый хеш в процессе.
    • Используйте его, чтобы поддерживать ветку функции в актуальном состоянии с основной веткой

И перебазирование, и сжатие меняют историю и поэтому должны использоваться только в ветвях функций, принадлежащих одному разработчику. Ваша основная ветвь должна оставаться, а любая публичная ветвь должна оставаться такой, как есть.

(Вы можете всегда разрешить pull --rebase вместо pull, поскольку это только меняет историю вашего локального хранилища.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...