git checkout develop # удостовериться что мы в нужной ветке
git merge --ff $(git commit-tree -p develop -p master -m "Reset develop to master" master^{tree})master^{tree} — это ссылка на текущее состояние файлов из ветки master.git commit-tree — создаёт новый коммит, который:git commit-tree -p develop -p master -m "Reset develop to master" master^{tree}— эта команда не просто создаст новый коммит, но ещё вернёт его хеш.git merge --ff $(...)--ff (fast-forward) говорит гиту просто передвинуть указатель develop вперёд на этот новый коммит, если это возможно без создания нового коммита слияния.$(...) — это подстановка команды в bash, то есть git merge --ff получит на вход хеш коммита из предыдущего шага.