Повторное использование разрешений конфликтов с Git Rerere
Узнайте, как функция rerere в Git автоматически записывает и повторно применяет разрешения конфликтов при повторных перебазированиях и слияниях.
«Повторное использование разрешений конфликтов с Git Rerere» — бесплатный урок Git & GitHub Professional Workflow на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Git & GitHub Professional Workflow, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Git & GitHub Professional Workflow содержит 4 уроков всего.
Что такое Rerere
Rerere — сокращение от повторного использования записанного разрешения. Если эта функция включена, Git запоминает, как Вы разрешили конфликт, и автоматически повторно применяет то же разрешение, если снова встречает идентичный конфликт.
Чем помогает Rerere
Во время длительных перебазирований или повторных объединений одной и той же ветки один и тот же конфликт может возникать снова и снова. Rerere избавляет Вас от необходимости каждый раз разрешать его вручную.
Включение Rerere
Включите её глобально с помощью одной настройки конфигурации.
git config --global rerere.enabled trueКак записывается разрешение
Когда возникает конфликт, Git сохраняет состояние до разрешения. После того как Вы исправите и добавите файл в индекс, Git записывает Ваше разрешение.
git merge feature
# CONFLICT in app.js
# Recorded preimage for app.jsОднократное разрешение
Разрешите конфликт обычным способом, а затем добавьте файл в индекс. Rerere незаметно сохранит выполненные Вами действия.
# edit app.js to fix conflict
git add app.js
# Recorded resolution for app.jsАвтоматическое повторное применение
Когда в следующий раз возникнет точно такой же конфликт, Git разрешит его за Вас и сообщит об этом.
git rebase main
# Resolved app.js using previous resolutionПроверка состояния Rerere
Используйте git rerere status, чтобы узнать, для каких файлов ожидают обработки записанные состояния конфликтов.
git rerere statusПросмотр различий
git rerere diff показывает, какие изменения применит записанное разрешение, чтобы Вы могли проверить его перед продолжением.
git rerere diffУдаление разрешения
Если Вы записали неправильное разрешение, удалите его для конкретного файла, чтобы в следующий раз Git снова запросил Ваше решение.
git rerere forget app.jsRerere и перебазирование
Rerere особенно полезен при интерактивном перебазировании, во время которого одни и те же фиксации могут воспроизводиться многократно. Он устраняет большую часть повторяющейся работы по разрешению конфликтов.
git rebase -i HEAD~10Ограничения
Rerere сопоставляет только идентичные конфликты. Если окружающий код изменился, записанное разрешение не применится, и Вам придётся разрешить конфликт вручную.
Быстрая проверка
Проверьте, насколько хорошо Вы понимаете работу rerere.
Итоги
Вы научились использовать rerere:
- Включайте функцию с помощью
rerere.enabled true - Разрешите конфликт один раз — Git запишет это разрешение
- Позднее идентичные конфликты разрешаются автоматически
git rerere forgetудаляет неправильное разрешение
Эта функция незаменима при длительных перебазированиях.
Часто задаваемые вопросы
Урок «Повторное использование разрешений конфликтов с Git Rerere» бесплатный?
Да — полный текст урока «Повторное использование разрешений конфликтов с Git Rerere» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Git & GitHub Professional Workflow, подпишись на CoddyKit PRO. Курс Git & GitHub Professional Workflow содержит 4 уроков всего.
Чему я научусь в уроке «Повторное использование разрешений конфликтов с Git Rerere»?
Узнайте, как функция rerere в Git автоматически записывает и повторно применяет разрешения конфликтов при повторных перебазированиях и слияниях. Ты практикуешь Git & GitHub Professional Workflow с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Git & GitHub Professional Workflow?
Предыдущий опыт не требуется. Git & GitHub Professional Workflow на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Повторное использование разрешений конфликтов с Git Rerere»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Git & GitHub Professional Workflow?
Да. Каждый урок Git & GitHub Professional Workflow включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Ручное разрешение конфликтов слияния
- Интерактивное перебазирование истории
- Выборочное применение фиксаций
- Повторное использование разрешений конфликтов с Git Rerere