Глава 19 Best practices

19.1 .gitignore

19.2 Feature бранчи

Хорошая практика каждое изменение делать в свой ветке.

Не всегда это удобно, особенно когда работаешь один. Чтобы перенести уже сделанные коммиты в отдельную ветку воспользуйтесь этим рецептом.

19.3 Комитьте и пушьте чаще

Так меньше проблем при слиянии

19.4 Принудительный push

Это может привести к потери изменений загруженных на сервер ранее, например вашим коллегой. Никогда не делайте так в команде, не уточнив у других.

19.5 Как перенести коммиты в ветку

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

Этот подход не сработает если вы загрузили коммиты на сервер, потому что отмена коммитов переписывает историю. Это потребует выполнения команды git push --force. Почему это плохо?

Создайте новую ветку - она будет содержать набор коммитов, который вы имеете сейчас, при помощи Positron или командой ниже.

git branch some

Важно! Убедитесь в том, что создали ветку. Для этого посмотрите журнал или команду git log и найдите напротив текущего коммита надпись с названием созданной ветки.

Вернитесь на оригинальную ветку, как правило это main, при помощи Positron или команды ниже.

git checkout main

Отмените нужное количество комитов, скажем 3. Опция --hard удалит все изменения. Ничего страшного, ведь они остались в ветке, созданной на предыдущем шаге.

git reset --hard HEAD~3