git пересказать без разрешения конфликтов слияния снова



Можно ли изменить сообщения фиксации с помощью git rebase, но без повторного разрешения конфликтов слияния?



Мне нужно боудлеризировать старое РЕПО, и я не хочу менять ни один из фактических кодов, только сообщения.



Я пробовал --preserve-merges.

640   2  

2 ответов:

Есть малоизвестная функция git, называемая "повторное использование записанных разрешений", или rerere.

Вы можете включить его глобально, запустив git config --global rerere.enabled 1.

Если rerere включен, git автоматически сохранит разрешения конфликтов и будет повторно использовать эти разрешения позже, если он столкнется с теми же конфликтами. Это приводит к тому, что пользователю не требуется повторно разрешать эти ранее замеченные конфликты.

Эта особенность объясняется далее в посте на git-scm.com . Подробнее подробно, посмотрите справочный документ для Git rerere.

Примечание: с момента contrib/rerere-train.sh сценарий должен переобучать rerere (вы можете увидеть ручную переподготовку здесь )

Чтобы убедиться, что rerere забывает все свое текущее разрешение перебазирования, теперь у вас есть официальная опция с Git 2.14.x / 2.15 (Q3 2017) для contrib/rerere-train: флаг --overwrite.

См. commit ad53bf7 (26 Jul 2017) by Raman Gupta (rocketraman).
(объединено Junio C Hamano -- gitster -- in commit aec68c3 , 11 Aug 2017)

contrib/rerere-train: необязательно перезаписывать существующие разрешения

Предоставьте пользователю возможность перезаписать существующие разрешения с помощью --overwrite флаг.

Это может быть использовано, например, если пользователь знает, что у него уже есть запись в кэше rerere для конфликта, но хочет удалить ее и переобучиться на основе коммита слияния, переданного сценарию rerere-train.

Comments

    Ничего не найдено.