Я использую git rebase --onto target source foo
, чтобы переместить ветку foo
из ветки источника
в ветвь цель
. Знаете ли вы, можно ли использовать значения хэша вместо имен веток (если они не указаны) следующим образом: git rebase --onto ab91c f4242 foo
?
В качестве обходного пути я временно добавил имена веток к соответствующим объектам фиксации. Но это может быть лаваш, если у вас есть много ветвей, которые нужно перебазировать.
Пример ситуации:
° bb42a
° ab91c
° 979c2
/° fb648 foo
° f4242 --
° 333c9
После git rebase --onto ...
° bb42a
/° fb648 foo
° ab91c --
° 979c2
° f4242
° 333c9
Справочная информация:
Объясненная проблема очень распространена, если вы используете svn-сервер в качестве удаленного репозитория. Все объекты, которые вы коммитите, будут перезаписаны, поскольку svn-id будет добавляться каждый раз, когда вы git svn dcommit
в svn-репозиторий. Это отсоединит все остальные ветви от их бывшего главного .