2015-05-15 3 views
7

У меня есть местное репо и удаленное репо. Локальное репо содержит 1-2-месячный контент удаленного репо.Объединить ошибку конфликта, если в указанном файле изменений не было.

Я пытаюсь вытащить весь контент в местное репо.

git pull origin master 
From ssh://.../site.git 
* branch   master  -> FETCH_HEAD 
... 
CONFLICT (add/add): Merge conflict in admin/process_email.php 
Automatic merge failed; fix conflicts and then commit the result. 

Я проверил process_email.php с помощью P4Merge, но не показывает никакого конфликта, кроме того, не было никаких изменений вообще, нет никакой разницы.

UPDATE:

я

$ git status 
On branch master 
nothing to commit, working directory clean on both repos. 

Также я попытался

$ git pull -X theirs origin/master master 

Но все-таки получить ту же ошибку.

Я хочу объединить репо с удаленным началом с моим местным репо. Я хочу перехватить локальное репо с удаленным исходным содержимым репо, поскольку удаленное репо более новое, содержит последний код.

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

У меня есть autocrlf = False в .gitconfig.

Почему возникает ошибка конфликта для файлов, имеющих точно такой же контент?

+0

Попробуйте открыть файл в блокноте или Notepad ++ и посмотреть на любой тег, который указывает на слияние неудачу, есть кто-то? –

+0

Нет никаких тегов. – klor

+0

Это очень странно.Если вы получите сообщение об ошибке «CONFLICT (добавить/добавить): слить конфликт в xxx», тогда в файле должны быть маркеры конфликтов, а «git status» должен сообщать файл как конфликт (текст: «оба добавлены»). – sleske

ответ

3

Наконец решил проблему, на основе раствора, используемого в следующей теме:

How to handle/fix git add/add conflicts?

# moved all files from the local workdir to another directory. 
mv /workdir/* /old_content 

# commit this change 
git commit -m 'Resolve git Add/Add branch merge conflict by deleting conflicted folder and files in myconflictedfolder' 

# do merge from remote 
git pull origin master 

Прицепные был успешно выполнен, никаких конфликтов больше.

Теперь я могу перезаписать каталог old_content, если захочу, а затем совершить.

С наилучшими пожеланиями, Konrad

0

В сообщениях говорится, что у вас есть конфликт add/add, что означает, что файл был добавлен как в вашу ветку, так и в том, с которым вы объединяетесь. Это ограничивает способность Git сливаться, потому что нет общего предка (т. Е. Вы получите конфликты для каждой части файла, различной с обеих сторон). Откройте файл в текстовом редакторе и проверьте, есть ли у вас маркеры конфликтов и их устранение.

Запуск git status даст вам больше информации о том, что происходит.

Как только вы удовлетворены содержимым файла, запустите git add и git commit.

+0

Обновленный оригинальный пост. – klor

Смежные вопросы