Используют merge-коммиты, fast-forward, squash и rebase, а процесс строят вокруг trunk-based или веток функций/релизов.
Какие существуют стратегии внесения изменений и слияния веток в Git?
Используют merge-коммиты, fast-forward, squash и rebase, а процесс строят вокруг trunk-based или веток функций/релизов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Используют merge-коммиты, fast-forward, squash и rebase, а процесс строят вокруг trunk-based или веток функций/релизов.
Merge сохраняет историю объединения, squash сводит изменения в один commit, rebase переписывает базу и идентификаторы коммитов. Общие опубликованные ветки нельзя без согласования переписывать. Стратегию выбирают по частоте выпуска и требованиям к истории, а не только её внешнему виду.