2013-05-08 5 views
17

Я работал на ветке X. Я сделал фиксацию и подтолкнул ее.'Fatal: cherry-pick failed' with Git

Тогда я хотел до cherry-pick его к ответвлению Y. Но из-за некоторые необъединенные файлы представить, я получил следующее сообщение:

error: 'cherry-pick' 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: cherry-pick failed 

Теперь, я просто хочу удалить ветку Y, а затем заново создать ветку Y, а затем необходимо вручную отредактировать файл, где я был пытаясь сделать вишневый выбор.

В настоящее время я не могу удалить ветку, поскольку это моя рабочая ветка. Я не могу checkout любой другой отрасли. Я получаю следующую ошибку при попытке изменить ветвь.

mod/assign/locallib.php: needs merge 
error: you need to resolve your current index first 

мне просто нужно удалить ветку Y, не теряя ничего на ветке X.

EDIT # 1

я редактировал файл mod/assign/locallib.php

Сделав git status, я получаю:

# On branch MDL-38267_24 
# Unmerged paths: 
# (use "git add/rm <file>..." as appropriate to mark resolution) 
# 
# both modified:  mod/assign/locallib.php 
# 

Что файл я должен добавить в git add ..?

ответ

11

Поскольку вы уже редактировали файл конфликта, нужно просто

git add mod/assign/locallib.php 

затем

git cherry-pick --continue 
2

Вы пытались выполнить слияние (через git merge или git pull) и иметь файлы, у которых есть конфликты, которые не разрешены. Если вы делаете git status, вы, вероятно, увидите, что файл (ы) указан как «измененный обоими». Вы должны позаботиться об этом, прежде чем делать что-либо еще.

Сделайте git mergetool, и он откроет файлы по одному. Исправьте файл, чтобы конфликты были разрешены, и затем вы должны продолжить.

+0

Пожалуйста, смотрите мои правки, которые я сделал на этот вопрос. Я имею в виду, что файл, который я изменил, и файл, который возвращается в статусе git, совпадают. Как мне решить проблему, которую я имею? – xan

+0

Вам необходимо разрешить конфликт или «git reset» файл в неконфликтное состояние. В зависимости от того, что вы сделали, что вызвало конфликт. – Schleis