Почему при копировании коммита git cherry-pick копирует всю ветку?

Команда git cherry-pick копирует применяемые коммиты из одной ветки в другую. При этом вопрос, почему при копировании коммита git cherry-pick копирует всю ветку, означает, что вы видите появление всех коммитов в итоговой ветке после применения cherry-pick.

Однако, несмотря на это впечатление, git cherry-pick на самом деле не копирует всю ветку, а только выбранный коммит. Когда вы выполняете cherry-pick на конкретный коммит, git применяет изменения, внесенные этим коммитом, к текущей ветке, создавая новый коммит, который содержит те же изменения. Получается, что коммит после cherry-pick имеет аналогичные изменения, что и оригинальный коммит, включая все исправления ошибок, добавления и другие изменения.

При применении команды cherry-pick git использует информацию об изменениях, которые затронули указанный коммит, и применяет эти изменения в текущей ветке. Это позволяет сохранить историческую целостность проекта, поскольку вы создаете новый коммит, который является частью текущей ветки и содержит изменения, вносимые в оригинальный коммит. Однако ветка, из которой был взят оригинальный коммит, не изменяется.

То есть, git cherry-pick копирует только выбранный коммит и создает новый коммит на текущей ветке с теми же изменениями, что и оригинальный коммит. Весь остальной исторический контекст, предшествующий оригинальному коммиту и следующий за ним, ветка, из которой был взят коммит, и другие коммиты, не копируются или присоединяются к текущей ветке.