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