Не уверен, почему вам нужна дата фиксации, чтобы остаться прежней, но здесь идет речь:
git rebase B E --onto X --committer-date-is-author-date
Если B..E
не находятся в том же хранилище, что и X
(так как они могут быть если вы создаете новый старт на месте ), вам нужно сначала получить их:
git fetch <path_to_old_repos>
Конечно, B
, E
иX
здесь означают их идентификаторы коммитов, если вы на самом деле не помечали / не разветвляли их.
Вы также можете сделать что-то подобное (хотя дата принятия не будет сохранена), перебрав из A
в исходном хранилище и вставив на него B
:
git rebase -i `A`
# change "pick b" to "squash b"
Youу вас будет возможность изменить сообщение коммита, после чего вы сможете сделать его X
.