2010-07-19 2 views
16

Я использую git rerere, и это полезно, но есть одна проблема: когда он автоматически разрешает файл, он не помечен как разрешенный (например, с git add). Поэтому, если я запустил git mergetool, он откроет файл, как будто он все еще имеет в нем все конфликты.Имейте git rerere автоматически маркировать файлы как разрешенные?

До сих пор я создал небольшой скрипт оболочки, который я могу вызвать, который сканирует все файлы, помеченные как конфликтующие для маркеров конфликтов (например, >>>>>>>), и вызывает git-add на них, если у них их нет.

Есть ли лучший способ сделать это? Какой-то флаг для git rerere я пропустил?

ответ

17

Возможно установка git config может помочь:

rerere.autoupdate 

Если установлено значению истинно, git-rerere обновляет индекс с результирующим содержанием после того, как чисто разрешают конфликты с помощью ранее записанное разрешением.
По умолчанию false.

Примечания: с Git1.7.0,

"git rerere" имел rerere.autoupdate конфигурации, но не было никакого способа отменяет его из командной строки;
--no-rerere-autoupdate вариант, данный «merge», «revert» и т. Д. Исправляет это.

+0

А, была моя проблема. Я искал на странице git-rerere помощь, которая довольно скудная. Не думал, чтобы grep через другие git man-страницы, чтобы увидеть, были ли у них также информация о ререре в них! – davr