#git #git_merge
Заметил что иногда вместо git pull --rebase делаю так git checkout remote_my/branch_my git merge --squash branch_my git commit ... В чем смысл такого кода
Ответы
Ответ 1
Из Git Reference - merge: --squash Обрабатывает рабочую область и индекс таким образом, как будто было произведено слияние (merge), но при этом не делает фактического коммита, не перемещает указатель HEAD и не записывает ничего в $GIT_DIR/MERGE_HEAD. Это позволяет сделать единый коммит к текущей ветке, содержащий все те же изменения, которые были бы применены при обычном слиянии с веткой (или несколькими, в случае сложного слияния). Как это работает git checkout master git merge --squash feature123 git commit -m'merged feature #123' Все изменения в ветке feature123 становятся одним коммитом в ветке master. Это удобно, если ветка содержит много незначительных коммитов, которые «неинтересны» для общей истории. После такой операции история ветки останется «плоской», так же как после git pull --rebase.
Комментариев нет:
Отправить комментарий