Git - как спрятать конфликт и разрешить его позже

Я слил одну ветку в другую и столкнулся с конфликтом. Я решил это частично, но мне нужна помощь коллеги, чтобы закончить решение. А пока, пока я его жду, я хочу спрятать этот конфликт и продолжить работу над чем-то другим. Но я не хочу терять прогресс в том, что я уже решил.

Что я должен делать? Есть ли способ сделать это, кроме клонирования репо в другой каталог или ручного копирования конфликтующего файла и последующего его копирования позже?

Если я пытаюсь просто спрятать его, git жалуется так:

path/to/file/with/unresolved/conflict: needs merge
path/to/file/with/unresolved/conflict: needs merge
path/to/file/with/unresolved/conflict: unmerged (somesha)
path/to/file/with/unresolved/conflict: unmerged (somesha)
path/to/file/with/unresolved/conflict: unmerged (somesha)
fatal: git-write-tree: error building trees
Cannot save the current index state

1 ответ

Решение

Включите rerere в вашем хранилище:

$ git config rerere.enabled true

Решите все возможные конфликты, затем прервите операцию слияния (git merge --abort). Все успешные решения конфликтов будут зарегистрированы rerere и воспроизводится позже автоматически для тех же конфликтов.

Смотрите эту запись в блоге: https://git-scm.com/blog/2010/03/08/rerere.html

Другие вопросы по тегам