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