2015-02-03 2 views
0

Это, вероятно, было решено раньше, но я не смог найти решение. У меня есть два основных мастера и localdev.Конфликт двоичного файла Git в двух ветвях

Существует файл gif, который я только что открыл и передал давно в ветке b. Теперь, когда я пытаюсь либо удалить его, либо объединить его с мастером, он не работает (возможно, из-за внесенных изменений). У меня есть другие изменения в этом коммите, которые я не хочу возвращать назад.

Есть ли способ вернуть этот единственный файл, как он есть, на master и показать в localdev?

дифф для одного файла на обеих ветвей показывает

index 3288d10..c97ba49 100644 
Binary files a/temp/spinner2.gif and b/temp/spinner2.gif differ 

Заранее спасибо!

ответ

2

Похоже, что вы ищете «git checkout branch_name - filepath».

Эта команда может отменить ваши изменения в конкретном файле в вашей текущей ветке.

Так что если вы хотите получить файл в формате GIF с вашего главного отделения, находясь в localdev ветви, используйте эту команду (имейте в виду, это удаляет изменения, сделанные в GIF в localdev):

git checkout master -- path/to/your/file/spinner2.gif 

Обязательно включите этот двойной дефис и путь к gif.

+0

Я пробовал это. Я не уверен, какой контроль должен делать тот же файл в master. Он не отменяет изменений и показывает те же различия индекса. – startedFromTheBottom

+1

Команда 'checkout' записывает ее в область index/staging-area и ваш рабочий каталог, как если бы вы сделали копию из полностью отдельной проверки другой ветки и' git add'-ed файла. Это означает, что * * готово * к вашей текущей ветке ('localdev'), но она еще не совершена. Таким образом, 'git status' покажет его как измененный и готовый к фиксации, а' git diff --cached' скажет вам, что «бинарные файлы отличаются» и т. Д. – torek

+0

Что сказал @torek. Итак, в основном, @startedFromTheBottom, я предполагаю, что вы видите 'Изменения должны быть зафиксированы: изменено: путь/в/ваш/файл/spinner2.gif', когда вы вводите« статус git ». Если вы сделаете это изменение, вы установите его обратно на то, что gif сохраняется как на master. С этого момента diff должен быть пустым. –