Как git rebase использовать хэш вместо имени ветки?

Я использую 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-репозиторий. Это отсоединит все остальные ветви от их бывшего главного .

5
задан JJD 29 June 2011 в 10:45
поделиться