Есть ли простой способ сохранить общую историю при перебазировании двух веток с некоторой общей историей?

Предположим, у нас есть следующее граф ревизий:

A-X-Z--B
     \
      \-C

с A перед B и C. Далее предположим, что я перебазирую A из восходящего потока, создавая новую фиксацию A *, а затем переставляю B и C на A *. Итоговый график ревизий выглядит следующим образом:

A*-X'-Z'-B
 \
  \-X"-Z"-C

Обратите внимание, что общая история больше не используется совместно. Есть ли простой способ исправить это, кроме, скажем, перенастройки B, а затем явного переноса C на Z? Другими словами, есть ли лучший способ одновременно автоматически перенастроить несколько веток, чтобы сохранить общую историю? Просто кажется немного неудобным - либо искусственно размещать тег в точке разделения, либо вручную проверять график, чтобы найти sha1 фиксации, на которой нужно перебазировать C, чтобы сохранить общую историю, не говоря уже об открытии возможности ошибок, тем более что я должен делать это каждый раз, когда перебазирую, пока я не проверю изменения в восходящей ветке.

19
задан metamatt 28 March 2013 в 20:01
поделиться