git rerere только ручное разрешение
git rerere
счастливо хранит мои разрешения конфликтов и автоматически применяет их, когда снова возникают те же конфликты.
Однако иногда я сталкиваюсь с конфликтом слияния с другим контекстом, который я не хочу, чтобы авто слияние.
Есть ли способ сделать git rerere
помните разрешения конфликтов, но требуйте явного вызова git rerere
применять их?
Чтобы было ясно, я не ищу git rerere clear
или же git rerere forget
скорее, просто, автоматически не разрешать конфликты слияния, если не указано иное (бонус, если он может показать мне предложенное решение перед применением!)
1 ответ
Я не знаю способа не применять rerere для конкретного куска.
Вы действительно можете забыть переопределить разрешение для файла ( как обсуждено здесь), но не только для куска.
Вы должны будете напрямую связываться с.git/rr-cache, как упоминалось в этом патче:
Мы записали ранее замеченный конфликт и его разрешение в подкаталоге
$GIT_DIR/rr-cache
и имя подкаталога вычисляется путем хеширования "формы" конфликтующего блока.
Когда похожий конфликт встречается позже в рабочем дереве, "git rerere
"пытается воспроизвести записанное разрешение, выполнив трехстороннее объединение, чтобы применить изменение для перехода от предыдущего конфликта к предыдущему разрешению в текущее конфликтующее состояние.