Git: разрешение конфликтов в бинарных файлах

Чаще всего в проекте кроме кода есть бинарные файлы. И вполне вероятна ситуация, когда слияние двух веток завершается конфликтом в одном (или нескольких) из них. Есть простой способ разрешить такой конфликт.

Если нам нужно оставить версию из текущей ветки, то следует выполнить такую команду:

git checkout --ours -- path/to/file.bin

А если нужно заменить файл на версию из сливаемой ветки, то такую команду:

git checkout --theirs -- path/to/file.bin

Естественно, замените path/to/file.bin на путь к конфликтному файлу.

Кстати, вместо вышеприведенных команд можно извлечь файл из любой ветки и/или правки, а так же просто скопировав «поверх» другую версию файла средствами операционной системы. После этих манипуляций надо добавить файл в индекс, чтобы git включил его в комит:

git add path/to/file.bin

После чего завершаем слияние комитом:

git commit

 

Похожие записи

Эта запись опубликована в рубриках: Git. Метки записи: , , . Постоянная ссылка.

Оставить комментарий

Почта (не публикуется) Обязательные поля помечены *

*

Вы можете использовать эти HTML теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>