Я просматривал некоторые основы Git, и в этой документации Atlassian о вытягивании, слиянии и перебазировании есть одна вещь, которую я не совсем понимаю.Базовое состояние веток выглядит следующим образом (на странице есть реальные изображения, я не могу опубликовать их со своей репутацией):
A - B - C (Master on remote origin)
/
(Local origin/master) D - E - F - G (Local master)
Теперь мы хотим получить изменения с пульта и переназначить их,Я бы ожидал, прочитав другую документацию и поигравшись с rebase, git pull --rebase
воспроизведет коммиты E-F-G
поверх A-B-C
.Но вместо этого в учебнике Atlassian говорится, что результат выглядит так:
A - B - C (Master on remote origin)
/
(Local origin/master) D - E - F - G - A - B - C (Local master)
Таким образом, удаленные изменения были перенесены в локальную ветвь.Я не думал, что это работает так (по крайней мере, без специальных команд), и это также кажется более агрессивным, чем альтернатива.Если бы вы нажали сейчас, вы бы все-таки переписали большую часть истории пульта.
Правильна ли здесь документация и в каких случаях это происходит?Большинство описаний, кажется, подразумевают или показывают, что удаленная ветвь извлекается, а ваша локальная ветвь перезагружается поверх нее, что также, по-видимому, имеет смысл.
Я полагаю, что я что-то неправильно понимаю, или я неправильно читаюцифры.