Git применить бинарный файл diff. ошибка "патч не применяется" - PullRequest
0 голосов
/ 05 мая 2018

Я изменил двоичный файл в test_branch, затем в другой ветке сделал:

git diff --full-index --binary test_branch binary_file_name.dat | мерзавец применить

Однако я получаю следующую ошибку:

ошибка: исправление применяется к двоичному_файлу.dat (e4d7fc486a4ddd1638445449c5bfcec760b23c7f), которое не соответствует текущему содержимому. ошибка: имя_файла_данных.дат: исправление не применяется

Кто-нибудь знает, как я могу исправить ошибку и применить бинарный diff?

1 Ответ

0 голосов
/ 05 мая 2018

git diff --full-index --binary test_branch binary_file_name.dat эквивалентно git diff --full-index --binary test_branch HEAD binary_file_name.dat. Разница означает изменение, которое обновляет binary_file_name.dat из test_branch до binary_file_name.dat другой ветви (HEAD). Но теперь вы находитесь в другой ветке, что означает, что текущая binary_file_name.dat уже является обновленной версией. Так что поменяйте местами HEAD и test_branch в git diff, и все будет работать как положено.

git diff --full-index --binary HEAD test_branch binary_file_name.dat | git apply
...