Git Merge конфликт, так как я удалил файл - PullRequest
4 голосов
/ 13 декабря 2010

Я новичок в Git, поэтому дайте мне знать, если есть лучший способ сделать это ...

Итак, я разработал проект на github, в который я вносил изменения, чтобы работать так, как я этого хочу. Одним из изменений, которые я сделал, было удаление файла. Поэтому я удалил файл с git rm filename. Теперь я хочу получить последние изменения из исходного репо, который я раздвоил, поэтому я сделал git pull original-remote-repo master. Но он выдал сообщение о том, что произошел конфликт с файлом, который я удалил (поскольку он был удален в моем репо, но в него были внесены изменения в «original-remote-repo»). Меня не волнуют какие-либо изменения в этом файле, так как я удалил его.

Есть ли что-то, что мне нужно сделать, чтобы объединить их без воссоздания файла (так как в любом случае мне пришлось бы удалить его снова)? Или есть лучший рабочий процесс, который я должен принять?

1 Ответ

5 голосов
/ 13 декабря 2010

Возник конфликт при слиянии, поскольку вы изменили содержимое в своем хранилище (то есть удалили рассматриваемый файл), а восходящий поток также изменил содержимое в то же место (т. Е. Этот файл).

У Git нет возможности узнать, хотите ли вы свои изменения или их изменения, потому что он не может определить, какой из них является «правильным» (то есть он не может слить изменения чисто).

Я предлагаю разрешить конфликт слияния путем удаления файла. (Да, опять).

Изменения, внесенные в апстрим, скорее всего, зависят от их изменений в этом файле, поэтому ваше слияние, вероятно, не будет работать (в конце концов, они почти наверняка изменили этот файл по причине!), Но я уверен, что вы понять это, потому что теперь вы несете ответственность за управление этой разницей, по крайней мере, для своего дерева, поэтому я бы рассмотрел коммит слияния и сделал другие изменения, обеспечивающие его работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...