Я не совсем уверен, что понимаю, что вы пытаетесь сделать. Что вы хотите, чтобы произошло со всеми изменениями, внесенными в ствол после создания ветви? Вы хотите, чтобы они не отображались в журнале при просмотре истории файла после слияния? Если так, то это то, что вы получите, если удалите ствол и скопируете ветвь на свое место - ветвь делится историей с стволом до того, как разветвится, так что это то же самое, за исключением изменений, сделанных после ветки.
Если вы хотите сохранить историю транка, но просто топайте все изменения, сделанные между ветвлением и слиянием, это немного более сложная проблема. Я думаю, что если вы сделаете слияние, которое игнорирует происхождение (есть опция --ignore-ancestry
), оно заменит содержимое транка ветвью. Вы также можете попробовать опцию --force
со слиянием (как вместо, так и в сочетании с --ignore-ancestry
). Попробуйте несколько способов посмотреть, получите ли вы желаемые результаты ...
Если это не удается, вы всегда можете выполнить обратное объединение всех изменений в соединительной линии, начиная с точки ветвления, а затем объединить в ветвь. Похоже, что это может вызвать некоторые конфликты, которые вы, конечно, захотите разрешить, используя версию из вашей ветки. Я не знаю, являются ли какие-либо из этих идей оптимальными.