Глава 19 Best practices
19.2 Feature бранчи
Хорошая практика каждое изменение делать в свой ветке.
Не всегда это удобно, особенно когда работаешь один. Чтобы перенести уже сделанные коммиты в отдельную ветку воспользуйтесь этим рецептом.
19.4 Принудительный push
Это может привести к потери изменений загруженных на сервер ранее, например вашим коллегой. Никогда не делайте так в команде, не уточнив у других.
19.5 Как перенести коммиты в ветку
Идея рецепта в том, что мы создаем новую ветку из текущего набора коммитов, переключаемся на оригинальную и в ней ненужные коммиты отменяем.
Этот подход не сработает если вы загрузили коммиты на сервер,
потому что отмена коммитов переписывает историю.
Это потребует выполнения команды git push --force.
Почему это плохо?
Создайте новую ветку - она будет содержать набор коммитов, который вы имеете сейчас, при помощи Positron или командой ниже.
Важно! Убедитесь в том, что создали ветку. Для этого посмотрите журнал или команду git log и найдите напротив текущего коммита надпись с названием созданной ветки.
Вернитесь на оригинальную ветку, как правило это main, при помощи Positron или команды ниже.
Отмените нужное количество комитов, скажем 3.
Опция --hard удалит все изменения.
Ничего страшного, ведь они остались в ветке, созданной на предыдущем шаге.