Какая практика git commit лучше?

Я искренне верю, что иметь один коммит по одному вопросу - хорошая практика. Я уверен, что я прочитал это где-то в статье, как «Лучшие практики».

Таким образом, мой рабочий процесс был следующим:

Для нового выпуска я создаю новую локальную ветку сgit checkout -b new-issue.Зафиксируйте все изменения в нем. Иногда это включаетмного коммитов.Когда я закончуsquash совершает иrebase их в текущую тематическую ветку.Если что-то пойдет не так, я могуgit revert зафиксировать, найти ошибку, исправить ее и зафиксировать новый патч в тематической ветке. Я не буду изменять историю удаленного хранилища.

Но сегодня я был удивлен, услышав следующий рабочий процесс:

Создайте новую ветку для нового выпуска.Передайте все в это.использованиеmerge --no-ff объединить ветку проблемы с тематической веткой (поэтому у нас будет «merge-commit», который мы можемrevert).Если что-то пойдет не так, мы можем использоватьgit bisect найти ошибку.

Согласно первому подходу, у нас будет чистая история Git, и мы не будем знать о ветвях, используемых во время разработки.

Согласно второму подходу, у нас будет очень грязная история, с большим количеством уродливых, ненужных слияний и коммитов только для одной проблемы. Тем не менее, мы можем использоватьgit bisect чтобы найти ошибки. (Возможно, это лучше для рефакторинга?)

Какие плюсы и минусы вы видите для обоих подходов?

Какой подход вы используете и почему?

На практике вы использовалиgit bisect найти ошибки? (У меня нет ...)

Ответы на вопрос(2)

Ваш ответ на вопрос