Поправка! Я писал:>> Переключаюсь на оригинальный реп, и вижу рабочую директорию в соответствии с
>> файлами, присланными пушем. Делаю reflog, а там пуш никак не обозначается,
>> как буд-то и нет его. А вот git log показывает этот
>> пуш как обычный коммит.
Более подробный анализ показал, что происходит на самом деле следующее:
Когда я после пуша перехожу в оригинальный репозиторий, в нем уже есть коммит с изменениями пуша, но рабочая директория находится в состоянии до пуша! То есть, чтобы принять изменения, присланные пушем, мне нужно для каждого измененного файла сделать "git reset HEAD -- file", а затем "git checkout file". А для этого нужно знать список измененных файлов.
Но самое интересное, что если сделать тупо "git checkout 123456", где 123456 - шех этого самого коммита, то ничего не изменится! Хотя эта команда должна приводить рабочую директорию в состояние на момент указанного коммита. Итого: в истории коммит есть; через reset из него вытащить изменения можно, а просто переключиться на него нельзя. Точнее можно, и гит показывает, что всё успешно переключено, но директория не меняется. Ваше взрыв мозга!
Вы пишите, что push копирует только историю. Вышеописанное поведение как раз укладывается в вашу мысль.
Насчет пуша в другую ветку не понял. Какая разница, в какую ветку пушить. Я попробовал сделать пуш в другую ветку. Поведение идентично.