По умолчанию GIT делает merge
во время тяг. Если вы делаете rebase, то кажется, что в какой-то момент вы изменили это поведение. Или кто-то полезный сделал это для вас.
Приводя после this article (1) и this article (2) и this article (3) - которые все описывают, как сделать противоположные вещи:
(от 1) Существует флаг конфигурации в GIT, что, когда включена, изменил поведение по умолчанию pull
от merge
- rebase
. Проверьте, установлено ли у вас:
# git >= 1.7.9:
git config --global pull.rebase
git config pull.rebase
В новых клиентах GIT он работает интуитивно. Он включен, если он равен true
. Просто выключите флаг.
В старых, однако, он работает по-разному.
# git < 1.7.9:
git config --global branch.autosetuprebase
git config branch.autosetuprebase
# and also
git config branch.<name>.rebase
Когда autosetuprebase
установлен в always
, мерзавец автоматически устанавливает rebase
флаг на каждом новом филиале. Это означает, что только вы, вероятно, захотите не только отключить autosetuprebase
, но и отключить уже установленный флаг rebase
для каждой ветки.
(от # 2)
Если вы хотите другой путь (то есть у вас есть старый GIT клиент и т ветвей и вы на самом деле ум писать сценарий, который сбрасывает флаги), то другой вариант, чтобы создать псевдоним для git pull
, который добавит опцию --no-rebase
, что заставит ее слить.
(from # 3)
В данной статье говорится, что флаг каждой ветви rebase
хранится в файле конфигурации. Итак, после отключения autosetuprebase
вы можете быстро отключить переустановку на всех или некоторых ветвях, удалив все строки rebase
из этого файла конфигурации.