sorry_i_noob
@sorry_i_noob

Можно ли как-нибудь добавить изменения в ветку Git из другой ветки, но без истории? И стоит ли это делать?

У меня есть dev-ветка, в которой у коммитов могут быть не очень понятные комментарии. И есть prod-ветка.
Я хочу разрабатывать в dev-ветке, не акцентируя внимания на комментариях коммитов. А потом сделать всего один коммит в prod с понятным комментарием, где будут все изменения dev-ветки. И пушить prod на GitHub, например. Или в другой внешний Git-репозиторий (если работаю в команде).

Не выставлять же напоказ всем все свои коммиты (и их комментарии). Даже такие, которые были сделаны перед каким-либо сомнительным действием, например, массовым переименованием функции (я делаю коммит, чтобы можно было легко отменить переименование, если что-то пошло не так) и т. д.

Можно ли такое сделать в Git? И стоит ли оно того или из-за этого будут какие-то сложности?
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Да, можно. В GitHub это называется Merge методом Squash.

git switch prod
git merge --squash dev
git commit

По факту операция склеивает все коммиты вашей тематической ветки в один и делается cherry-pick полученного коммита в prod. Поэтому после вам желательно удалить тематическую ветку, так как она станет неактуальной. Ну либо просто начать новую от актуального prod. Если продолжить работать в старой цепочке коммитов, то вы можете словить неприятные глюки в дальнейшем.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
alexey_bille
@alexey_bille
Web developer
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы