Проверьте быструю перемотку
Если main является предком feature, merge лишь передвигает указатель main. Новый коммит с двумя родителями нужен в расходящемся примере.
Git & Version Control
Выберите пример и посмотрите результат операции без запуска Git.
A–D и штрихи — учебные ID, а не настоящие хеши Git.
Выберите пример и операцию, чтобы увидеть результат здесь.
Только заданный учебный граф обрабатывается в браузере; репозиторий не читается и не запрашивается.
Целевая ветка: main · Исходная ветка: feature
Ctrl/Cmd + Enter показывает выбранную операцию.
Выберите операцию для просмотра.
Граф моделирует заданные однострочные файлы, а не стратегию Git в вашем проекте.
Симулятор Git начинает с общего коммита, после которого main и feature расходятся. Граф коммитов помогает увидеть родителей новых узлов и положение указателей там, где одних названий команд недостаточно.
Можно переключиться на быструю перемотку или пример с разными правками одной строки. Буквы A–D обозначают учебные узлы и не являются хешами объектов в вашем репозитории.
Симулятор Git показывает, что слияние веток сохраняет исходные узлы, а перебазирование и cherry-pick создают символические копии. Такой визуализатор Git помогает отличить движение указателя от создания коммита.
В отдельном примере две ветки меняют одну строку app.js по-разному. Показаны базовое и оба новых значения; это не прогноз конфликта для файлов, которых страница не видит.
Если main является предком feature, merge лишь передвигает указатель main. Новый коммит с двумя родителями нужен в расходящемся примере.
Rebase повторяет C и D как C′ и D′ поверх main и переносит feature. Cherry-pick копирует только выбранный C или D в main, оставляя исходную ветку на месте.
После смены примера или операции старая схема устаревает, поэтому копирование и загрузка выключаются. Ctrl/Cmd + Enter создаёт новый результат; замените учебные имена и заполнитель хеша.
При расхождении веток появляется коммит с двумя родителями; при быстрой перемотке меняется только указатель. Исходные узлы в обоих случаях не переименовываются.
Rebase воспроизводит всю цепочку feature, а cherry-pick — только выбранное изменение. Штрихи у новых идентификаторов обозначают копии, а не реальные SHA.
Встроенный пример сравнивает одну строку трёх состояний. Он не реализует текстовое объединение Git и не вычисляет вероятность конфликта в вашем проекте.
Merge сохраняет обе линии истории и при расхождении может добавить коммит с двумя родителями. Rebase повторяет коммиты feature на новой базе и создаёт новые объекты. Симулятор Git показывает обе формы.
Rebase может дать линейную историю собственных ещё не опубликованных коммитов. Для уже общей ветки переписывание затронет коллег; учебная схема не знает вашу политику сотрудничества.
Cherry-pick переносит изменение одного выбранного коммита, тогда как merge интегрирует историю ветки. В примере D копируется как D′, но исходный D и указатель feature остаются.
Если текущая ветка является предком другой, возможна быстрая перемотка без нового коммита. Если ветки разошлись, обычное слияние создаёт узел с двумя родителями при отсутствии конфликта.
Git останавливает операцию и оставляет реальные конфликтующие файлы для ручного выбора и проверки. Здесь показаны лишь три фиксированных значения одной строки; страница не редактирует файлы и не завершает слияние.
Предпросмотр отличается от документации устройства?
Сравните три операции на одном графе, изучите фиксированный конфликт и затем проверьте каждый черновик по настоящим веткам.