diff --git a/public/bootstrap/img/glyphicons-halflings-white.png b/public/bootstrap/img/glyphicons-halflings-white.png
index 3bf6484..c016d6b 100644
Binary files a/public/bootstrap/img/glyphicons-halflings-white.png and b/public/bootstrap/img/glyphicons-halflings-white.png differ
Это просто означает, что glyphicons-halflings-white.png
был изменен в этой фиксации, но содержание является двоичным и не предназначены для отображения в терминале. В результате он не допускает каких-либо фактических различий, чтобы не повредить ваш терминал (терминал интерпретирует некоторые коды, поэтому вы не хотите передавать ему необработанные данные).
Следующий бит более интересен:
error: 'commit' is not possible because you have unmerged files.
hint: Fix them up in the work tree,
hint: and then use 'git add/rm <file>' as
hint: appropriate to mark resolution and make a commit,
hint: or use 'git commit -a'.
fatal: Exiting because of an unresolved conflict.
Это означает, что вы предприняли попытку слияния и файл имел конфликты. Это происходит потому, что версия, на основе которой была изменена, не совпадает с версией в кончике ветки, в которую вы входите. Графический это будет выглядеть следующим образом
C
.-------------*------------.
/ \
*------*---------------*--------------+
A B D E
Итак, допустим, вы имели особенность ветвь, обновленную эти значки (фиксации C), которая была основана на фиксацию B. Тогда кто-то приземлились изменения на мастер, что изменившиеся то же самое файл, скажем, фиксацию D. Теперь, когда вы пытаетесь объединиться, commit C и D конфликтуют, потому что они касаются одного и того же двоичного файла. Git не понимает бинарные форматы и поэтому не знает, как объединить их вместе. Вы, как пользователь, должны разрешить конфликт, а затем добавить и зафиксировать результат. Это означает, что вам нужно изучить все три версии: одно на основе commit B (база слияния), то есть на основе commit C (MERGE_HEAD/ваша версия), а также на основе commit D (HEAD/version on master). Вы можете увидеть каждое из этих версий, делая это:
git show :1:path/to/file.ext > file.merge-base.ext # The merge base (commit B)
git show :2:path/to/file.ext > file.HEAD.ext # The version on the branch you're merging into (commit D)
git show :3:path/to/file.ext > file.MERGE_HEAD.ext # The version on your branch (commit C)
Команды для получения на эти различные версии документирована на странице git merge человек. Для получения дополнительной информации о синтаксисе постановки вы можете посмотреть справочную страницу Specifying Revisions section of the gitrevisions.
Вы можете попробовать восстановить исходные версии до этого фиксации. Это будет выглядеть так:
git show edd703783a8802284fb975e9f354394541f1bad5~1:public/bootstrap/img/glyphicons-halflings-white.png > public/bootstrap/img/glyphicons-halflings-white.png
git commit -M "Revert the last set of changes made to icons." public/bootstrap/img/glyphicons-halflings-white.png
при запуске с вершины вашего дерева.Вы также можете сохранить вашу версию с:
git checkout --ours # Keeps the version on master (commit D, the :2: version)
Или
git checkout --theirs # Keeps the version from your branch (commit C, the :3: version)
Затем нужно добавить файл и зафиксируем разрешить слияние.
Наконец, если вы уже не имеете такую строку в файле .gitattributes
, вы можете рассмотреть его:
*.png binary
Это означает, что для лечения бинарных файлов в двоичном виде. Git не будет пытаться объединить содержимое файла. Обычно git выполняет двоичное обнаружение путем поиска символа NUL в первых 100 байтах (IIRC). Я не помню формат PNG, но, возможно, возможно, что в первых 100 байт не гарантировано, поэтому git может попытаться объединить содержимое файла и вставить маркеры конфликтов. Это испортило бы изображение таким образом, что оно не может быть просмотрено программами изображений или браузером, и я подозреваю, что это случилось с вами. Вышеприведенная строка в вашем файле .gitattributes
гарантирует, что git не вставляет маркеры конфликтов, и он избегает попытки объединить незафиксированные изменения между ветвями в .png-файлы.
Вы можете удалить их из хранилища (используя git rm' перед нажатием, если необходимо)? – Leeward
Вы используете Windows? Может быть, ваши настройки crlf неверны? Посмотрите здесь, например: http://stackoverflow.com/questions/1967370/git-replacing-lf-with-crlf – filmor
@ У меня много файлов (все изображения), поэтому, если я могу избежать их удаления:/ –